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
優化思想:避免資料量大時掃描過多的記錄image.png![]()
分頁查詢(limit) ![]()
分頁查詢(limit)