小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Mysql的三種分頁方法

 青_春 2018-04-19
1、limit m,n分頁語句:
select * from dept order by deptno desc limit 3,3;
select * from dept order by deptno desc limit m,n;
limit 3,3的意思掃描滿足條件的3+3行,撇去前面的3行,返回最后的3行,那么問題來了,如果是limit 200000,200,需要掃描200200行,如果在一個高并發(fā)的應用里,每次查詢需要掃描超過20W行,效率十分低下。


2、limit m語句:
 select * from dept where deptno >10 order by deptno asc limit n;//下一頁
 select * from dept where deptno <60 order by deptno desc limit n//上一頁
這種方式不管翻多少頁只需要掃描n條數(shù)據(jù)。


3、方法2 雖然掃描的數(shù)據(jù)量少了,但是在某些需要跳轉(zhuǎn)到多少也得時候就無法實現(xiàn),這時還是需要用到方法1,既然不能避免,那么我們可以考慮盡量減小m的值,因此我們可以給這條語句加上一個條件限制。是的每次掃描不用從第一條開始。這樣就能盡量減少掃描的數(shù)據(jù)量。

例如:每頁10條數(shù)據(jù),當前是第10頁,當前條目ID的最大值是109,最小值是100.
那么跳到第9頁:
select * from dept where deptno<100 order by desc limit 0,10;

那么跳到第8頁:
select * from dept where deptno<100 order by desc limit 10,10;

那么跳到第11頁:
select * from dept where deptno>109 order by asc limit 0,10;

那么跳到第11頁:
select * from dept where deptno>109 order by asc limit 10,10;

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多