mysql分頁查詢

2021-08-28 14:00:34 字數 838 閱讀 6285

一般情況下,客戶端通過傳遞 pageno(頁碼)、pagesize(每頁條數)兩個引數去分頁查詢資料庫中的資料,在資料量較小(元組百/千級)時使用 mysql自帶的limit來解決這個問題:

收到客戶端

select * from table limit (pageno-1)*pagesize, pagesize;

收到客戶端

select * from table limit (pageno-1)*pagesize,pagesize;

在資料量較小的時候簡單的使用limit進行資料分頁在效能上面不會有明顯的緩慢,但是資料量達到了萬級到百萬級sql語句的效能將會影響資料的返回。這時需要利用主鍵或者唯一索引進行資料分頁;

假設主鍵或者唯一索引為 good_id

收到客戶端

select * from table where good_id > (pageno-1)*pagesize limit pagesize;

–返回good_id為40到50之間的資料

當需要返回的資訊為順序或者倒序時,對上面的語句基於資料再排序。order by asc/desc 順序或倒序 預設為順序

select * from table where good_id > (pageno-1)*pagesize order by good_id limit pagesize;

–返回good_id為40到50之間的資料,資料依據good_id順序排列

Mysql 分頁查詢 快照 Mysql分頁查詢優化

select from orders history where type 8 limit 1000,10 該條語句將會從表 orders history 中查詢offset 1000開始之後的10條資料,也就是第1001條到第1010條資料 1001 id 1010 資料表中的記錄預設使用主鍵 一...

mysql 分頁查詢 失效 mysql分頁查詢

比如每頁10條,分頁查詢 語法 select from table limit offset,rows offset指定要返回的第一行的偏移量,rows第二個指定返回行的最大數目。初始行的偏移量是0 不是1 select from table limit 0,10 第一頁 select from t...

MySQL分頁查詢

今天研究了一下mysql的分頁查詢,記錄並分享如下 方式1 select from table order by id limit m,n 該語句的意思為,查詢m n條記錄,去掉前m條,返回後n條記錄。無疑該查詢能夠實現分頁功能,但是如果m的值越大,查詢的效能會越低 越後面的頁數,查詢效能越低 因為...