先說一下limit分頁語法
select * from user_address limit 100000,10
limit後跟兩個參數,第一個參數爲從第幾個數據開始,第二個參數爲取多少個數據。
第一個參數也叫偏移量,初始值是0
如果數據量很小,這麼寫分頁當然沒問題,但是當數據量大起來的時候,查詢速度就會慢很多。
如:select * from user_address limit 100,10 查詢用時0.011S
select * from user_address limit 100000,10 查詢用時0.618S
結果可看的出來,便宜量大起來時查詢速度就會變慢,那麼優化一下寫法。
select * from user_address where id >= (select id from user_address order by id limit 100000,1) limit 10 查詢用時0.068S
但這種寫法適用於偏移量大的結果,實際使用要根據業務場景選擇相應策略。