Esta página descreve a filtragem adaptativa no AlloyDB.
A filtragem adaptativa analisa os padrões de consulta e as distribuições de dados durante a execução da consulta para escolher dinamicamente a estratégia de filtragem mais eficiente, como a inline ou a pré-filtragem.
O otimizador de consulta do AlloyDB usa a análise baseada em custo para determinar se a filtragem inline ou a pré-filtragem oferece a melhor performance em qualquer ponto durante a execução da consulta.
Essa otimização é benéfica para as pesquisas de vetores filtrados do AlloyDB, em que a filtragem adaptativa alterna automaticamente entre o uso de vetores e de índices de metadados para garantir resultados eficientes e precisos sem intervenção manual.
Ativar a filtragem adaptativa
Para ativar a filtragem adaptativa, use a flag scann.enable_preview_features
.
Quando a filtragem adaptativa aciona uma mudança da filtragem inline para a pré-filtragem durante a execução, o plano de consulta muda dinamicamente.
Por exemplo, o plano pode mostrar Bitmap assisted pre-filtering
no campo Estratégia de execução quando o otimizador determina que a pré-filtragem é mais eficiente naquele ponto da consulta. Essa mudança dinâmica ocorre à medida que o sistema se adapta aos dados reais encontrados durante a execução da consulta.
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)