本頁說明 AlloyDB 中的適應性篩選。
自動調適篩選功能會在查詢執行期間分析查詢模式和資料分配情形,動態選擇最有效率的篩選策略,例如內嵌或預先篩選。
AlloyDB 查詢最佳化工具會使用以成本為準的分析,判斷在查詢執行期間的任何時間點,內嵌篩選或預先篩選是否能提供最佳效能。
這類最佳化作業有助於 AlloyDB 的已篩選向量搜尋,因為系統會自動在向量和中繼資料索引之間切換,確保結果準確無誤,且您不必手動介入。
啟用自動調整篩選功能
如要啟用自動調整篩選功能,請使用 scann.enable_preview_features
標記。
當自適應篩選器在執行期間觸發從內嵌篩選器切換至預先篩選器時,查詢計畫會動態變更。
舉例來說,如果最佳化工具判斷在查詢中的該時間點進行預先篩選的效率較高,企劃書的「執行策略」欄位就會顯示 Bitmap assisted pre-filtering
。系統會在查詢執行期間,根據實際遇到的資料進行調整,因此會發生這種動態變化。
Limit (actual rows=10 loops=1)
-> Custom Scan (vector scan) on t1 (actual rows=10 loops=1)
Execution Strategy: Bitmap assisted pre-filtering
Order By: (vec_col <=> '[...]'::vector)
Limit: 10
Num Requalifications: 0
Num filtered: 1000
-> Bitmap Index Scan on btree_idx (actual rows=10000 loops=1)
Index Cond: (int_col <= 100000000)