Questa pagina descrive come utilizzare il filtro adattivo in AlloyDB Omni. Questa pagina descrive come utilizzare il filtro adattivo in AlloyDB Omni.
Il filtro adattivo analizza i pattern di query e le distribuzioni dei dati durante l'esecuzione della query per scegliere dinamicamente la strategia di filtro più efficiente, ad esempio il filtro in linea o il pre-filtro.
L'ottimizzatore di query di AlloyDB Omni utilizza l'analisi basata sui costi per determinare se il filtro in linea o il pre-filtro offre il rendimento migliore in un determinato momento durante l'esecuzione della query.
Questa ottimizzazione è utile per le ricerche vettoriali filtrate di AlloyDB Omni, in cui il filtro adattivo passa automaticamente dall'utilizzo dell'indice vettoriale a quello dei metadati per garantire risultati efficienti e accurati senza il tuo intervento manuale.
Attivare il filtro adattivo
Per attivare il filtro adattivo, utilizza il scann.enable_preview_features flag.
Quando il filtro adattivo attiva il passaggio dal filtro in linea al pre-filtro durante l'esecuzione, il piano di query cambia dinamicamente.
Ad esempio, il piano può mostrare Bitmap assisted pre-filtering nel campo Execution Strategy (Strategia di esecuzione) quando l'ottimizzatore determina che il pre-filtro è più efficiente in quel punto della query. Questa modifica dinamica si verifica quando il sistema si adatta ai dati effettivi che incontra durante l'esecuzione della query.
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)