前言
SQL Server 7.0 建立在 6.5 穩固基礎上,針對查詢處理器進行重大創新。查詢處理器負責接受 SQL 語法、決定執行計畫並執行,是關聯式資料庫的「大腦」。
核心組件
- 儲存引擎:管理資料寫入/讀取磁碟、記錄、並行控制、記錄檔。
- 查詢處理器:接受 SQL、最佳化、執行。使用者與查詢處理器互動,查詢處理器再與儲存引擎互動。
兩大階段
- 查詢最佳化:選擇最快執行計畫。決定使用哪些索引、聯接順序、WHERE 條件套用順序、演算法選擇(Hash Join vs Merge Join),依統計資訊估算成本。
- 查詢執行:執行最佳化階段選定的計畫。提供執行引擎可用演算法(Hash Join、Merge Join 等)。
最佳化器類型比較
| 類型 | 特性 |
| 語法基礎 | 依 SQL 文字與子句順序產生固定計畫,不參考統計資訊,資料量變化不調整。 |
| 成本基礎 (CBO) | 依 I/O、CPU 成本估算選擇計畫,參考資料表/索引統計資訊,不依賴 SQL 文字順序。SQL Server 6.5/7.0 均採用 CBO。 |
SQL Server 7.0 創新亮點
- 查詢最佳化器與執行引擎大幅增強,支援更複雜查詢、更多演算法選擇。
- 類比:蓋房子前先規劃(最佳化)比直接動工(無最佳化)更有效率;工具齊全(Hash Join、Merge Join)且選對工具更關鍵。
- 統計資訊自動維護,成本估算更精準。
延伸閱讀
詳細儲存引擎架構請參考白皮書「Storage Engine」(文件編號 098-80769)。