查詢性能優(yōu)化

優(yōu)化數(shù)據(jù)訪問(wèn)

  • 是否向數(shù)據(jù)庫(kù)請(qǐng)求了不需要的數(shù)據(jù)
  • MySQL是否在掃描額外的記錄
MySQL使用三種方式應(yīng)用WHERE條件
  • 索引中使用WHERE 在存儲(chǔ)引擎層完成
  • 使用索引覆蓋掃描 在服務(wù)器層完成
  • 從數(shù)據(jù)表中返回?cái)?shù)據(jù),過(guò)濾不滿足條件的記錄

重構(gòu)查詢的方式

  • 一個(gè)復(fù)雜查詢還是多個(gè)簡(jiǎn)單查詢
  • 切分查詢
  • 分解關(guān)聯(lián)查詢

查詢執(zhí)行


1.客戶端發(fā)送一條查詢給服務(wù)器;
2.服務(wù)器先檢查查詢緩存,命中緩存則返回存儲(chǔ)在緩存的結(jié)果;否則進(jìn)入下一階段
3.服務(wù)器端進(jìn)行SQL解析、預(yù)處理,再由優(yōu)化器生成對(duì)應(yīng)的執(zhí)行計(jì)劃
4.MySQL根據(jù)優(yōu)化器生成的執(zhí)行計(jì)劃,調(diào)用存儲(chǔ)引擎API執(zhí)行查詢
5.結(jié)果返回給客戶端

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前面的章節(jié)我們介紹了如何設(shè)計(jì)最優(yōu)的庫(kù)表結(jié)構(gòu)、 如何建立最好的索引, 這些對(duì)于高性能來(lái)說(shuō)是必不可少的。 但這些還不夠...
    好好學(xué)習(xí)Sun閱讀 2,774評(píng)論 0 38
  • 國(guó)慶第二天,今天嗨翻模式的開(kāi)啟就等室友的同學(xué)來(lái)了再說(shuō)吧,在這之前,先來(lái)一波筆記 查詢真正重要的是響應(yīng)時(shí)間,查詢包含...
    小煉君閱讀 1,822評(píng)論 0 50
  • 轉(zhuǎn) # https://www.cnblogs.com/easypass/archive/2010/12/ 08/...
    呂品?閱讀 10,133評(píng)論 0 44
  • 1. 為什么查詢速度會(huì)慢 如果把查詢看作是一個(gè)任務(wù),那么它由一系列子任務(wù)組成,每個(gè)子任務(wù)都會(huì)消耗一定的時(shí)間。如果要...
    李逍遙JK閱讀 726評(píng)論 1 0
  • 合理的表結(jié)構(gòu)、索引對(duì)于高性能查詢來(lái)說(shuō)是必不可少的。但是還需要合理的設(shè)計(jì)查詢。如果查詢寫(xiě)得很糟糕,那么表結(jié)構(gòu)再合理、...
    ezreally閱讀 1,241評(píng)論 0 1

友情鏈接更多精彩內(nèi)容