Sort Merge Join (排序合併連接) 適用於**非等值連接** (>, <, >=, <=, !=) 或**已排序資料集**場景:
適用條件:Hash Join 僅支援等值連接 (`=`),非等值連接**只能**用 SMJ 或 Nested Loops。若連接鍵**已有索引/預排序**,SMJ 效能優於 NL。
| 特性 | 說明 | |
|---|---|---|
| 驅動表訪問次數 | **最多一次**;若獨立謂詞不成立,可完全跳過驅動表 | |
| 被驅動表訪問次數 | **最多一次**;若驅動表無資料,被驅動表不訪問 | |
| 驅動表選擇影響 | **對成本影響較小** (雙方都需全掃描+排序) | |
| 支援連接條件 | >, <, >=, <= **支援**;LIKE, !=, <> **不支援** | |
| 排序場所 | PGA (工作區) → 空間不足則寫入 Temp 表空間 (磁盤) |
| 欄位 | 含義 | 關注點 |
|---|---|---|
OMem | 預估記憶體排序所需 (Bytes) | 是否超過 PGA_AGGREGATE_TARGET |
1Mem | 單次磁盤排序預估記憶體 (Bytes) | 越小越好 |
Used-Mem | 實際使用記憶體 (括號內為磁盤排序次數) | Used-Mem (0) = 純記憶體排序**;>0 發生磁盤 I/O |