在 AlloyDB for PostgreSQL 中啟用自動調整篩選功能

本頁說明 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)

後續步驟