久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

MySQL如何使用limit方式實(shí)現(xiàn)分頁

共計(jì) 1660 個(gè)字符,預(yù)計(jì)需要花費(fèi) 5 分鐘才能閱讀完成。

自動(dòng)寫代碼機(jī)器人,免費(fèi)開通

這篇文章主要介紹了 MySQL 如何使用 limit 方式實(shí)現(xiàn)分頁,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓丸趣 TV 小編帶著大家一起了解一下。

一、limit 基本實(shí)現(xiàn)方式

一般情況下,客戶端通過傳遞 pageNo(頁碼)、pageSize(每頁條數(shù))兩個(gè)參數(shù)去分頁查詢數(shù)據(jù)庫中的數(shù)據(jù),在數(shù)據(jù)量較小(元組百 / 千級(jí))時(shí)使用 MySQL 自帶的 limit 來解決這個(gè)問題:

 收到客戶端 {pageNo:1,pagesize:10} 
select * from table limit (pageNo-1) * pageSize, pageSize;
收到客戶端 {pageNo:5,pageSize:30} 
select * from table limit (pageNo-1) * pageSize,pageSize;

二、建立主鍵或者唯一索引

在數(shù)據(jù)量較小的時(shí)候簡(jiǎn)單的使用 limit 進(jìn)行數(shù)據(jù)分頁在性能上面不會(huì)有明顯的緩慢,但是數(shù)據(jù)量達(dá)到了 萬級(jí)到百萬級(jí) sql 語句的性能將會(huì)影響數(shù)據(jù)的返回。這時(shí)需要利用主鍵或者唯一索引進(jìn)行數(shù)據(jù)分頁;

 假設(shè)主鍵或者唯一索引為  good_id 
收到客戶端 {pageNo:5,pagesize:10} 
select * from table where good_id   (pageNo-1) * pageSize limit pageSize; 
–返回 good_id 為 40 到 50 之間的數(shù)據(jù) 

三、基于數(shù)據(jù)再排序

當(dāng)需要返回的信息為順序或者倒序時(shí),對(duì)上面的語句基于數(shù)據(jù)再排序。order by ASC/DESC 順序或倒序 默認(rèn)為順序

select * from table where good_id   (pageNo-1)*pageSize order by good_id limit pageSize; 
–返回 good_id 為 40 到 50 之間的數(shù)據(jù), 數(shù)據(jù)依據(jù) good_id 順序排列 

四、分頁最佳方案

 每頁顯示 10 條:當(dāng)前  118 120, 125
  大   小
 980 970 7 6 6 5 54 43 32
21 19 98 
 select 
 * 
 from 
 tb1 
 where 
 nid   (select nid from (select nid from tb1 where nid    當(dāng)前頁最小值  order by nid desc limit  每頁數(shù)據(jù)  *【頁碼 - 當(dāng)前頁】) A order by A.nid asc limit 1) 
 order by 
 nid desc 
 limit 10;

 where   nid   (select nid from (select nid from tb1 where nid   970 order by nid desc limit 40) A order by A.nid asc limit 1)   order by   nid desc   limit 10;
 where   nid   (select nid from (select nid from tb1 where nid    當(dāng)前頁最大值  order by nid asc limit  每頁數(shù)據(jù)  *【當(dāng)前頁 - 頁碼】) A order by A.nid asc limit 1)   order by   nid desc   limit 10;
 where   nid   (select nid from (select nid from tb1 where nid   980 order by nid asc limit 20) A order by A.nid desc limit 1)   order by   nid desc   limit 10;

感謝你能夠認(rèn)真閱讀完這篇文章,希望丸趣 TV 小編分享的“MySQL 如何使用 limit 方式實(shí)現(xiàn)分頁”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持丸趣 TV,關(guān)注丸趣 TV 行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

向 AI 問一下細(xì)節(jié)

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-12-04發(fā)表,共計(jì)1660字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒有評(píng)論)
主站蜘蛛池模板: 四平市| 宝鸡市| 张家界市| 仪陇县| 历史| 武功县| 阳朔县| 宜都市| 岳西县| 吴桥县| 辉县市| 平陆县| 泰安市| 台中市| 南召县| 深州市| 宿松县| 遵义市| 北安市| 招远市| 高密市| 上杭县| 汕头市| 京山县| 五华县| 邵阳市| 习水县| 衡东县| 石首市| 阜南县| 博野县| 尼勒克县| 汤原县| 洛浦县| 扶风县| 溧阳市| 康乐县| 内黄县| 特克斯县| 寻乌县| 乐东|