select count(*) from reply_0004 where thread_id = 5616385 and deleted = 0; +———-+ | count(*) | +———-+ " />
  • <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    在大數據情況下MySQL的一種簡單分頁優化方法_MySQL

    來源:懂視網 責編:小采 時間:2020-11-09 19:48:16
    文檔

    在大數據情況下MySQL的一種簡單分頁優化方法_MySQL

    在大數據情況下MySQL的一種簡單分頁優化方法_MySQL:通常應用需要對表中的數據進行翻頁,如果數據量很大,往往會帶來性能上的問題: root@sns 07:16:25>select count(*) from reply_0004 where thread_id = 5616385 and deleted = 0; +———-+ | count(*) | +———-+
    推薦度:
    導讀在大數據情況下MySQL的一種簡單分頁優化方法_MySQL:通常應用需要對表中的數據進行翻頁,如果數據量很大,往往會帶來性能上的問題: root@sns 07:16:25>select count(*) from reply_0004 where thread_id = 5616385 and deleted = 0; +———-+ | count(*) | +———-+

    通常應用需要對表中的數據進行翻頁,如果數據量很大,往往會帶來性能上的問題:

    root@sns 07:16:25>select count(*) from reply_0004 where thread_id = 5616385 and deleted = 0;
    +———-+
    | count(*) |
    +———-+
    | 1236795 |
    +———-+
    1 row in set (0.44 sec)
    root@sns 07:16:30>select id
    from reply_0004 where thread_id = 5616385 and deleted = 0
    order by id asc limit 1236785, 10 ;
    +———–+
    | id |
    +———–+
    | 162436798 |
    | 162438180 |
    | 162440102 |
    | 162442044 |
    | 162479222 |
    | 162479598 |
    | 162514705 |
    | 162832588 |
    | 162863394 |
    | 162899685 |
    +———–+
    10 rows in set (1.32 sec)
    

    索引:threa_id+deleted+id(gmt_Create)
    10 rows in set (1.32 sec)
    這兩條sql是為查詢最后一頁的翻頁sql查詢用的。由于一次翻頁往往只需要查詢較小的數據,如10條,但需要向后掃描大量的數據,也就是越往后的翻頁查詢,掃描的數據量會越多,查詢的速度也就越來越慢。
    由于查詢的數據量大小是固定的,如果查詢速度不受翻頁的頁數影響,或者影響最低,那么這樣是最佳的效果了(查詢最后最幾頁的速度和開始幾頁的速度一致)。
    在翻頁的時候,往往需要對其中的某個字段做排序(這個字段在索引中),升序排序。那么可不可以利用索引的有序性來解決上面遇到的問題喃,答案是肯定的。比如有10000條數據需要做分頁,那么前5000條做asc排序,后5000條desc排序,在limit startnum,pagesize參數中作出相應的調整。
    但是這無疑給應用程序帶來復雜,這條sql是用于論壇回復帖子的sql,往往用戶在看帖子的時候,一般都是查看前幾頁和最后幾頁,那么在翻頁的時候最后幾頁的翻頁查詢采用desc的方式來實現翻頁,這樣就可以較好的提高性能:

    root@snsgroup 07:16:49>select * from (select id
    
    -> from group_thread_reply_0004 where thread_id = 5616385 and deleted = 0
    
    -> order by id desc limit 0, 10)t order by t.id asc;
    
    +———–+
    
    | id |
    
    +———–+
    
    | 162436798 |
    
    | 162438180 |
    
    | 162440102 |
    
    | 162442044 |
    
    | 162479222 |
    
    | 162479598 |
    
    | 162514705 |
    
    | 162832588 |
    
    | 162863394 |
    
    | 162899685 |
    
    +———–+
    
    10 rows in set (0.87 sec)
    
    

    可以看到性能提升了50%以上。

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    在大數據情況下MySQL的一種簡單分頁優化方法_MySQL

    在大數據情況下MySQL的一種簡單分頁優化方法_MySQL:通常應用需要對表中的數據進行翻頁,如果數據量很大,往往會帶來性能上的問題: root@sns 07:16:25>select count(*) from reply_0004 where thread_id = 5616385 and deleted = 0; +———-+ | count(*) | +———-+
    推薦度:
    標簽: 方法 數據 的方法
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 四虎国产精品免费久久5151| 精品无码人妻一区二区三区不卡 | 国内精品久久久久影院日本 | 久久精品国产亚洲一区二区三区| www.久久精品| 亚洲国产精品乱码一区二区 | 国产精品乱伦| 2022国产精品最新在线| 91精品成人免费国产| 亚洲永久精品ww47| 日韩精品一区二区三区不卡| 国精品产露脸自拍| 最新亚洲精品国自产在线观看| 成人国产精品999视频| 精品不卡一区二区| 日韩精品一区二区三区影院| 久久久久久国产精品免费免费| 亚洲av永久无码精品漫画| 久久精品女人天堂AV麻| 国产精品欧美亚洲韩国日本久久| 欧美精品高清在线观看| 国产精品久久久久久福利69堂| 国产中老年妇女精品| 人妻精品久久久久中文字幕69| 中文字幕日韩精品无码内射| 尤物TV国产精品看片在线| 人妻无码精品久久亚瑟影视| 欧美人与动牲交a欧美精品| 蜜臀精品无码AV在线播放| 欧美国产成人精品一区二区三区 | 国产在线拍揄自揄视精品不卡 | 免费视频成人国产精品网站| 国产一区二区三区欧美精品| 国产精品午夜福利在线无码| 国产精品自在在线午夜福利 | 亚洲综合精品香蕉久久网97| 亚洲精品福利视频| 热久久这里只有精品| 国产精品免费一区二区三区| 国产香蕉国产精品偷在线| 久草欧美精品在线观看|