mysql查詢優(yōu)化知識(shí)點(diǎn)

可以先明確查詢過(guò)程是什么,經(jīng)歷了哪些流程,再來(lái)看哪里可以做優(yōu)化。

以下列出了我能想到的知識(shí)點(diǎn),如果有錯(cuò)誤或補(bǔ)充,希望大家可以提出來(lái)

1. 流程

  1. 建立連接(連接池)
  2. 消息發(fā)送(轉(zhuǎn)碼,utf-8)
  3. 查詢過(guò)程
    1. 緩存
    2. 語(yǔ)法分析、語(yǔ)義分析
    3. 查詢優(yōu)化器
    4. 查詢引擎
      1. 存儲(chǔ)引擎選擇
      2. 消息預(yù)加載(LRU鏈表)
      3. B+樹(shù)結(jié)構(gòu)
      4. 索引選擇(聚簇索引、非聚簇索引)
        1. 查詢成本:消息預(yù)處理、采樣分析
        2. 索引失效
      5. 索引使用
        1. explain
        2. 回表
        3. 索引覆蓋
      6. 如果是寫SQL
        1. redo log
        2. undo log
        3. bin log
        4. 頁(yè)分裂
        5. 事務(wù)(隔離性)
  4. 數(shù)據(jù)返回(轉(zhuǎn)碼)

2. 提前準(zhǔn)備:

  1. 存儲(chǔ)引擎選擇(InnoDB、myisam)
  2. 分庫(kù)分表
    1. 分布式事務(wù)
    2. 水平分表、垂直分表
  3. 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)(varchar、int、datatime)
  4. 索引設(shè)計(jì)(索引數(shù)量、字段區(qū)分度)
  5. SQL設(shè)計(jì)
    1. join、union、having
    2. 索引失效
    3. limit分頁(yè)
    4. distinct
?著作權(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)容

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