天天看點

分頁查詢(limit)

limit(可以接受一個參數或者兩個參數)

  • 第一個參數
指定第一個傳回記錄行的偏移量(初始偏移量是0不是1)
  • 第二個參數
指定傳回記錄行的最大數目
  • 例:
//檢索記錄行6-15
select * from table limit 5,10
           
為了檢索從某一個偏移量到記錄集的結束所有的記錄行,可以制定最後一個參數為-1
//檢索從96條記錄到最後一條記錄
select * from table limit 95,-1
           
如果隻給定一個參數,表示傳回最大的記錄行個數,即(limit n == limit 0,n)

limit分頁查詢的性能分析

  • 基本分頁方式
select ··· from ··· where ··· order by ··· limit ···
           
在中小型資料量夠用,資料量超級大時建議使用子查詢
select * from articles where category_id = 123 order by id limit 1000000,10
           

修改為

select * from articles
where id>=(select id from articles where category_id = 123 order by id limit 1000000,1)
limit 10
           
優化思想:避免資料量大時掃描過多的記錄
分頁查詢(limit)
image.png
分頁查詢(limit)

繼續閱讀