如果和mssql的top語法相比,那麼的limit語法要顯得優雅了許多。使用它來分頁是再自然不過的事情了。
最基本的分頁方式:
select ... from ... where ... order by ... limit ...
在中小資料量的情況下,這樣的sql足夠用了,唯一需要注意的問題就是確保使用了索引:
舉例來說,如果實際sql類似下面語句,那麼在category_id, id兩列上建立復合索引比較好:
select * from articles where category_id = 123 order by id limit 50, 10
子查詢的分頁方式:
隨著資料量的增加,頁數會越來越多,檢視後幾頁的sql就可能類似:
select * from aricles where category_id = 123 order by id limit 10000, 10
一言以蔽之,就是越往後分頁,limit語句的偏移量就會越大,速度也會明顯變慢。
此時,我們可以通過子查詢的方式來提高分頁效率,大致如下:
select * from articles where category_id = 123 and id >= (
select id from articles order by id limit 10000, 1
) limit 10
mysql分頁概念 MySQL 分頁
分頁的基本原理 mysql explain select from message order by id desc limit 10000,20 1.row id 1 select type table message type index possible keys null key prima...
mysql巢狀分頁 MySQL分頁優化
最近,幫同事重寫了乙個mysql sql語句,該sql語句涉及兩張表,其中一張表是字典表 需返回乙個字段 另一張表是業務表 本身就有150個字段,需全部返回 當然,欄位的個數是否合理在這裡不予評價。平時,返回的資料大概5w左右,系統尚能收到資料。但12月31日那天,資料量大概20w,導致sql執行時...
mysql 分頁 mysql分頁 學步園
所謂分頁顯示,也就是將資料庫中的結果集人為的分成一段一段的來顯示,這裡需要兩個初始的引數 每頁多少條記錄 pagesize 當前是第幾頁 currentpageid 現在只要給乙個結果集,就可以顯示某段特定的結果出來。以mysql資料庫為例,如果要從表內擷取某段內容,sql語句可以用 select ...