MariaDB伺服器查詢執行過程的三個階段概述

chenfeng發表於2017-03-16
MariaDB伺服器中,查詢的執行過程大致分為如下3個階段:
(1).從使用者接收SQL語句,切分語句並分析詞法語法,最後生成MariaDB伺服器可以理解的解析樹;
(2).確認SQL語句的解析資訊,選擇從哪個資料表讀取,以及使用哪種索引讀取資料表;
(3).藉助第2步中確定的讀表順序或所選索引,從儲存引擎中獲取資料。


第一個階段通常稱為SQL解析,由MariaDB伺服器的SQL解析器負責處理。若SQL語句存在語法錯誤,則可以在該階段得到檢測。經過SQL解析後,最終形成SQL解析樹。MariaDB伺服器使用SQL解析樹而非SQL語句本身執行查詢。

第二個階段會依據第一個階段形成的SQL解析樹處理如下內容:
(1).刪除不必要的條件,將複合運算簡單化。
(2).若存在多表連線,則確定讀表順序。
(3).根據用於各資料表的條件與索引統計資訊,確定要使用的索引。
(4).將獲取的記錄放入臨時表,確定是否需要再次加工。

第三個階段將依據執行計劃向存戶引擎請求讀取記錄,MariaDB引擎會對從儲存引擎獲得的記錄進行連線、排序等處理。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2135451/,如需轉載,請註明出處,否則將追究法律責任。

相關文章