| 存取路徑 | 觸發條件 | 物理操作 | 典型成本 | 優化方向 |
|---|---|---|---|---|
| Table Scan (Heap) | 無叢集索引,無可用非叢集索引覆蓋查詢 | 掃描 IAM 頁 → 依序讀取所有資料頁 | 高 (正比資料表大小) | 建立叢集索引或覆蓋非叢集索引 |
| Clustered Index Scan | 有叢集索引,但查詢無 SARGable 條件或選擇性極低 | 掃描叢集索引葉層 (即資料頁),邏輯同 Table Scan | 高 | 同 Table Scan;若為範圍查詢可變為 Range Scan |
| Index Scan (Nonclustered) | 非叢集索引存在,但查詢需掃描大部分索引鍵 (如 `WHERE col > 'A'` 選擇性低) | 掃描非叢集索引葉層 (含索引鍵 + 書籤/RID/叢集鍵) | 中 (索引通常較窄) | 評估是否可 Seek;考慮覆蓋索引消除 Key Lookup |
| Index Seek (Nonclustered) | 非叢集索引鍵符合 SARGable 等值/範圍條件,選擇性佳 | B+ 樹向下導航 → 定位起始葉頁 → 範圍掃描符合列 | 低 (對數級導航 + 少量範圍) | 最佳路徑;確保統計資料新鮮、無隱含轉換 |
| Clustered Index Seek | 叢集索引鍵符合 SARGable 條件 | B+ 樹導航 → 直接讀取資料列 (葉層即資料) | 極低 | 最理想;主鍵/唯一鍵查詢典型路徑 |
優化器基於 **統計資料** 估算成本,關鍵因素: