校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Mysql百萬級分頁優化技巧

Mysql百萬級分頁優化技巧

熱門標簽:谷歌地圖標注位置圖解 清遠申請400電話 如何選擇優質的外呼系統 桂林云電銷機器人收費 沈陽智能外呼系統供應商 南通電銷外呼系統哪家強 手機外呼系統違法嗎 東莞外呼企業管理系統 地圖簡圖標注

普通分頁

   數據分頁在網頁中十分多見,分頁一般都是limit start,offset,然后根據頁碼page計算start

select * from user limit 1,20

   這種分頁在幾十萬的時候分頁效率就會比較低了,MySQL需要從頭開始一直往后計算,這樣大大影響效率

SELECT * from user limit 100001,20; //time 0.151s
explain SELECT * from user limit 100001,20;

  我們可以用explain分析下語句,沒有用到任何索引,MySQL執行的行數是16W+,于是我們可以想用到索引去實現分頁

   優化分頁

   使用主鍵索引來優化數據分頁

select * from user where id>(select id from user where id>=100000 limit 1) limit 20; //time 0.003s

  使用explain分析語句,MySQL這次掃描的行數是8W+,時間也大大縮短。

 explain select * from user where id>(select id from user where id>=100000 limit 1) limit 20; 

     總結

  在數據量比較大的時候,我們盡量去利用索引來優化語句。上面的優化方法如果id不是主鍵索引,查詢效率比第一種還要低點。我們可以先使用explain來分析語句,查看語句的執行順序和執行性能。

補充:mysql中百萬級別分頁查詢性能優化

前提條件:

1.表的唯一索引

2.百萬級數據

SQL語句:

select
     c.*
     FROM
  (
  SELECT
   a.logid
  FROM
   tableA a
  where 1 = 1
     #if phone?exists phone!=""> 
      AND a.phone like "%":phone"%" 
     /#if>
   ORDER BY
    a.create_time DESC
   limit :startIndex,:maxCount
  ) b,tableA c
  where 1 = 1 AND b.logid = c.logid

其中:

1:startIndex:表示查找數據的開始位置

2:maxCount:表示每頁顯示數據個數

3:a.create_time DESC:降序排列,需要在create_time建立索引

4:limiit放在里面,而不要放在查詢的外面,這樣效率提升很多

5:logid:唯一索引

您可能感興趣的文章:
  • 如何優化Mysql千萬級快速分頁
  • MySQL 百萬級分頁優化(Mysql千萬級快速分頁)
  • Mysql limit 優化,百萬至千萬級快速分頁 復合索引的引用并應用于輕量級框架
  • Mysql limit 優化,百萬至千萬級快速分頁 復合索引的引用并應用于輕量級框架
  • mysql limit分頁優化方法分享
  • mysql 分頁優化解析

標簽:內蒙古 湖州 成都 常德 臨沂 重慶 天津 貴州

巨人網絡通訊聲明:本文標題《Mysql百萬級分頁優化技巧》,本文關鍵詞  Mysql,百萬,級,分頁,優化,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Mysql百萬級分頁優化技巧》相關的同類信息!
  • 本頁收集關于Mysql百萬級分頁優化技巧的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 阿拉尔市| 桂东县| 长顺县| 金秀| 夏邑县| 罗平县| 龙泉市| 清河县| 阳泉市| 凌海市| 驻马店市| 龙里县| 本溪| 加查县| 南乐县| 修水县| 滦平县| 镇远县| 阿城市| 高密市| 扶绥县| 新巴尔虎右旗| 大埔县| 花莲县| 肇州县| 休宁县| 太和县| 阳高县| 南城县| 扬中市| 红安县| 邵阳市| 广昌县| 扎赉特旗| 鹤壁市| 丹凤县| 固始县| 囊谦县| 定陶县| 措美县| 泾川县|