1. 程式人生 > 其它 >MySQL --- 讀書筆記 --- SQL執行流程

MySQL --- 讀書筆記 --- SQL執行流程

MySQL中的SQL執行流程

查詢流程

  1. 查詢快取:Server如果在查詢快取中發現了這條SQL語句,就會直接將結果返回給客戶端;如果沒有,就會進入解析器階段。但是在MySQL8.0中該功能被刪除
  2. 解析器解析,對SQL語句進行解析
    1. 先做詞法分析,識別SQL語句中的各個詞是什麼,代表什麼
    2. 接著做語法分析,根據詞法分析的結果,根據語法規則,判斷輸入的SQL語句是否正確,如果正確,那將會生成一個語法樹
  3. 知道SQL語句的行為之後,進入優化器,優化器會確定SQL語句的最終執行路徑,比如說是根據索引檢索,還是全表檢索;一條查詢會有很多執行方式,結果是相同的,那麼優化器的作用就是找到最好的執行計劃
    • 查詢優化又分為邏輯查詢優化
      物理查詢優化
    • 邏輯查詢優化其實就是通過改變SQL語句的內容,等價變換之後,提高查詢效率
    • 物理查詢優化指的是索引,優化每一步實際查詢計算物理路徑的代價
  4. 執行器是最終執行的儲存引擎的上層介面