Ativar a filtragem adaptativa no AlloyDB para PostgreSQL

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)

A seguir