前文
我認為 DB query optimizer (QO) 產生執行計畫並執行查詢和 使用地圖找尋最佳路徑很類似
下面會跟大家分享我心中 地圖理論 希望可以對於想了解 DB 運作的人更快上手
看見全貌
在了解一個事情跟技術,我們需要先用宏觀的角度來看待事情
下圖是 postgresql DB 運作核心概念圖
其中在執行語法前後最重要的幾個步驟是
- Parser:檢查語法是否有錯誤,如果錯誤就不執行後續步驟
- ReWriter:嘗試優化改寫 SQL
- Planner:利用統計資訊 & 演算法建立執行計畫
- Executor:挑選一個成本最低的執行計劃來查找資料
我認為資料 Search Engine 的 Planner & Executor 核心概念跟查找地圖( google map 很類似 )