web mysql 分頁 MySQL與分頁

2021-10-18 18:56:30 字數 686 閱讀 5235

如果和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 ...