iT邦幫忙

2023 iThome 鐵人賽

DAY 27
0
自我挑戰組

C# 和 SQL 探索之路 - 2系列 第 27

Day 27: SQL 執行計畫如何產生

  • 分享至 

  • xImage
  •  

哈囉,今天來講 MS-SQL 查詢的內部處理 ~
從送出查詢語法,到最後呈現結果,主要包含以下五個步驟:

1. 剖析: 剖析 SELECT 語法,分成關鍵字、表達式、運算子、識別碼。

2. 建立查詢樹: 用以描述如何將來源資料變成查詢結果。

3. 最佳化: Query Optimizer 分析存取來源資料表的不同方法。然後從中選擇一系列的步驟,其使用較少資源且能最快的取得查詢結果。
查詢樹會更新以記錄這一系列的步驟。最佳版本的查詢樹被稱為「執行計畫」。

4. 執行查詢: Relational Engine 開始執行「執行計畫」,當取得資料的步驟已被處理後,Relational Engine 要求 Storage Engine 取得需要的資料列集合。

5. 處理結果: Relational Engine 處理從 Storage Engine 取得的資料,將資料轉成查詢結果需要的格式,並回傳至 Client。

上述提到的 Query Optimizer, Relational Engine, Storage Engine 皆為 SQL Server 內的元件。

參考資料:Query Processing Architecture Guide - SQL Server - Microsoft Learn


上一篇
Day 26: SQL SARGAble
下一篇
Day28: 怎麼閱讀複雜的 SQL
系列文
C# 和 SQL 探索之路 - 230
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言