MySQL的分頁查詢

ywxj_001發表於2020-01-15
limit用於分頁查詢時越往後翻效能越差,解決的原則:縮小掃描範圍,如下所示:
select * from user order by id desc limit 100000,10
耗時0.4秒
select * from user order by id desc limit 1000000,10
耗時5.2秒
先篩選出ID縮小查詢範圍,寫法如下:
select * from user where id > (select id from user order by id desc  limit 1000000, 1) order by id desc limit 0,10
耗時0.5秒
如果查詢條件僅有主鍵ID,寫法如下:
select id from user where id between 1000000 and 1000010 order by id desc
耗時0.3秒
如果以上方案依然很慢呢?只好用遊標了。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22996654/viewspace-2673512/,如需轉載,請註明出處,否則將追究法律責任。

相關文章