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 delle query per scegliere dinamicamente la strategia di filtro più efficiente, ad esempio il filtro in linea o il prefiltro.
L'ottimizzatore delle query di AlloyDB Omni utilizza l'analisi basata sui costi per determinare se il filtro in linea o il prefiltro offre le migliori prestazioni in un determinato momento durante l'esecuzione della query.
Questa ottimizzazione è utile per le ricerche di vettori filtrati di AlloyDB Omni, in cui il filtro adattivo passa automaticamente dall'utilizzo dell'indice di vettori a quello dei metadati per garantire risultati efficienti e accurati senza intervento manuale.
Attivare il filtro adattivo
Per attivare il filtro adattivo, utilizza il flag scann.enable_preview_features
.
Quando il filtro adattivo attiva il passaggio dal filtro in linea al prefiltro durante l'esecuzione, il piano di query cambia in modo dinamico.
Ad esempio, il piano può mostrare Bitmap assisted pre-filtering
nel campo Strategia di esecuzione quando l'ottimizzatore determina che il prefiltro è 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)