亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Mysql百萬(wàn)級(jí)分頁(yè)優(yōu)化技巧

 更新時(shí)間:2016年12月28日 08:41:23   投稿:mrr  
這篇文章主要介紹了Mysql百萬(wàn)級(jí)分頁(yè)優(yōu)化技巧,包括普通分頁(yè)和優(yōu)化分頁(yè)兩種,在數(shù)據(jù)量比較大的時(shí)候,我們盡量去利用索引來(lái)優(yōu)化語(yǔ)句。下面通過(guò)本文給大家詳細(xì)講解,一起看看吧

普通分頁(yè)

   數(shù)據(jù)分頁(yè)在網(wǎng)頁(yè)中十分多見(jiàn),分頁(yè)一般都是limit start,offset,然后根據(jù)頁(yè)碼page計(jì)算start

select * from user limit 1,20

   這種分頁(yè)在幾十萬(wàn)的時(shí)候分頁(yè)效率就會(huì)比較低了,MySQL需要從頭開始一直往后計(jì)算,這樣大大影響效率

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

  我們可以用explain分析下語(yǔ)句,沒(méi)有用到任何索引,MySQL執(zhí)行的行數(shù)是16W+,于是我們可以想用到索引去實(shí)現(xiàn)分頁(yè)

   優(yōu)化分頁(yè)

   使用主鍵索引來(lái)優(yōu)化數(shù)據(jù)分頁(yè)

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

  使用explain分析語(yǔ)句,MySQL這次掃描的行數(shù)是8W+,時(shí)間也大大縮短。

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

     總結(jié)

  在數(shù)據(jù)量比較大的時(shí)候,我們盡量去利用索引來(lái)優(yōu)化語(yǔ)句。上面的優(yōu)化方法如果id不是主鍵索引,查詢效率比第一種還要低點(diǎn)。我們可以先使用explain來(lái)分析語(yǔ)句,查看語(yǔ)句的執(zhí)行順序和執(zhí)行性能。

補(bǔ)充:mysql中百萬(wàn)級(jí)別分頁(yè)查詢性能優(yōu)化

前提條件:

1.表的唯一索引

2.百萬(wàn)級(jí)數(shù)據(jù)

SQL語(yǔ)句:

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:表示查找數(shù)據(jù)的開始位置

2:maxCount:表示每頁(yè)顯示數(shù)據(jù)個(gè)數(shù)

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

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

5:logid:唯一索引

相關(guān)文章

  • MySQL索引知識(shí)的一些小妙招總結(jié)

    MySQL索引知識(shí)的一些小妙招總結(jié)

    這篇文章主要給大家總結(jié)介紹了關(guān)于MySQL索引知識(shí)的一些小妙招,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • MySQL 8.0.20 安裝教程圖文詳解(windows 64位)

    MySQL 8.0.20 安裝教程圖文詳解(windows 64位)

    這篇文章主要介紹了MySQL 8.0.20安裝教程(windows 64位),本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有,需要的朋友可以參考下
    2020-05-05
  • 一文詳解MySQL?Join使用原理

    一文詳解MySQL?Join使用原理

    JOIN是一種非常常見(jiàn)的操作,用于將兩個(gè)或多個(gè)表中的數(shù)據(jù)合并到一個(gè)結(jié)果集中。MySQL支持多種JOIN類型,本文通過(guò)代碼示例詳細(xì)介紹了Join的使用優(yōu)化,有需要的小伙伴可以參考閱讀
    2023-04-04
  • 使用cgroups來(lái)限制MySQL企業(yè)備份服務(wù)對(duì)資源的占用

    使用cgroups來(lái)限制MySQL企業(yè)備份服務(wù)對(duì)資源的占用

    這篇文章主要介紹了使用cgroups來(lái)限制MySQL企業(yè)備份服務(wù)對(duì)資源的占用,以限制mysqlbackup相關(guān)的進(jìn)程和線程對(duì)CPU和內(nèi)存的閑時(shí)消耗,需要的朋友可以參考下
    2015-06-06
  • mysql 的root 用戶無(wú)法授權(quán)及解決navicat 遠(yuǎn)程授權(quán)提示1044問(wèn)題

    mysql 的root 用戶無(wú)法授權(quán)及解決navicat 遠(yuǎn)程授權(quán)提示1044問(wèn)題

    這篇文章主要介紹了mysql 的root 用戶無(wú)法授權(quán),解決navicat 遠(yuǎn)程授權(quán)提示1044問(wèn)題,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • 與MSSQL對(duì)比學(xué)習(xí)MYSQL的心得(四)--BLOB數(shù)據(jù)類型

    與MSSQL對(duì)比學(xué)習(xí)MYSQL的心得(四)--BLOB數(shù)據(jù)類型

    在MYSQL中BLOB是一個(gè)二進(jìn)制大對(duì)象,用來(lái)儲(chǔ)存可變數(shù)量的數(shù)據(jù),而MSSQL中并沒(méi)有BLOB數(shù)據(jù)類型,只有大型對(duì)象數(shù)據(jù)類型(LOB)
    2014-06-06
  • Mysql優(yōu)化調(diào)優(yōu)中兩個(gè)重要參數(shù)table_cache和key_buffer

    Mysql優(yōu)化調(diào)優(yōu)中兩個(gè)重要參數(shù)table_cache和key_buffer

    這篇文章主要介紹了Mysql優(yōu)化調(diào)優(yōu)中兩個(gè)重要參數(shù)table_cache和key_buffer,需要的朋友可以參考下
    2014-12-12
  • MySQL數(shù)值類型溢出的處理方法

    MySQL數(shù)值類型溢出的處理方法

    這篇文章主要給大家介紹了關(guān)于MySQL數(shù)值類型溢出的處理方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • MySQL數(shù)據(jù)庫(kù)中刪除重復(fù)記錄簡(jiǎn)單步驟

    MySQL數(shù)據(jù)庫(kù)中刪除重復(fù)記錄簡(jiǎn)單步驟

    這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫(kù)中刪除重復(fù)記錄的相關(guān)資料,在使用數(shù)據(jù)庫(kù)時(shí),出現(xiàn)重復(fù)數(shù)據(jù)是常有的情況,但有些情況是允許數(shù)據(jù)重復(fù)的,而有些情況是不允許的,當(dāng)出現(xiàn)不允許的情況,我們就需要對(duì)重復(fù)數(shù)據(jù)進(jìn)行刪除處理,需要的朋友可以參考下
    2023-08-08
  • mysql5.7.17安裝使用圖文教程

    mysql5.7.17安裝使用圖文教程

    這篇文章主要為大家詳細(xì)介紹了MySql安裝與使用圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03

最新評(píng)論