MySQL中怎樣實(shí)現(xiàn)分頁(yè)查詢操作,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括武清網(wǎng)站建設(shè)、武清網(wǎng)站制作、武清網(wǎng)頁(yè)制作以及武清網(wǎng)絡(luò)營(yíng)銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,武清網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到武清省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!MySQL分頁(yè)查詢
方式1:
select * from table order by id limit m, n;
該語(yǔ)句的意思為,查詢m+n條記錄,去掉前m條,返回后n條記錄。無疑該查詢能夠?qū)崿F(xiàn)分頁(yè)功能,但是如果m的值越大,查詢的性能會(huì)越低(越后面的頁(yè)數(shù),查詢性能越低),因?yàn)镸ySQL同樣需要掃描過m+n條記錄。
方式2:
select * from table where id > #max_id# order by id limit n;
該查詢每次會(huì)返回n條記錄,卻無需像方式1掃描過m條記錄,在大數(shù)據(jù)量的分頁(yè)情況下,性能可以明顯好于方式1,但該分頁(yè)查詢必須要每次查詢時(shí)拿到上一次查詢(上一頁(yè))的一個(gè)較大id(或最小id)。該查詢的問題就在于,我們有時(shí)沒有辦法拿到上一次查詢(上一頁(yè))的較大id(或最小id),比如當(dāng)前在第3頁(yè),需要查詢第5頁(yè)的數(shù)據(jù),該查詢方法便愛莫能助了。
方式3:
為了避免能夠?qū)崿F(xiàn)方式2不能實(shí)現(xiàn)的查詢,就同樣需要使用到limit m, n子句,為了性能,就需要將m的值盡力的小,比如當(dāng)前在第3頁(yè),需要查詢第5頁(yè),每頁(yè)10條數(shù)據(jù),當(dāng)前第3頁(yè)的較大id為#max_id#:
select * from table where id > #max_id# order by id limit 20, 10;
其實(shí)該查詢方式是部分解決了方式2的問題,但如果當(dāng)前在第2頁(yè),需要查詢第100頁(yè)或1000頁(yè),性能仍然會(huì)較差。
方式4:
select * from table as a inner join (select id from table order by id limit m, n) as b on a.id = b.id order by a.id;
該查詢同方式1一樣,m的值可能很大,但由于內(nèi)部的子查詢只掃描了字段id,而不是整張表,所以性能要強(qiáng)于方式1查詢,并且該查詢能夠解決方式2和方式3不能解決的問題。
方式5:
select * from table where id > (select id from table order by id limit m, 1) limit n;
該查詢方式同方式4,同樣通過子查詢掃描字段id,效果同方式4。至于性能的話,方式5的性能會(huì)略好于方式4,因?yàn)榉绞?不需要在進(jìn)行表的關(guān)聯(lián),而是一個(gè)簡(jiǎn)單的比較。
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,的支持。
名稱欄目:MySQL中怎樣實(shí)現(xiàn)分頁(yè)查詢操作-創(chuàng)新互聯(lián)
文章出自:http://www.rwnh.cn/article46/cegohg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司、網(wǎng)站策劃、用戶體驗(yàn)、建站公司、網(wǎng)站排名、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容