Aceleração de consultas de pesquisa de pontos com otimização de pesquisa

Consultas de pesquisa de ponto são consultas que devem retornar um pequeno número de linhas. O serviço de otimização de pesquisa pode melhorar o desempenho das consultas de pesquisa de ponto que utilizam:

  • Predicados de igualdade (por exemplo, column_name = constant).

  • Predicados que utilizam IN (consulte o exemplo).

As seções a seguir fornecem mais informações sobre o suporte de otimização de pesquisa para consultas de pesquisa de pontos:

Ativação da otimização de pesquisa para consultas de pesquisa de pontos

As consultas de pesquisa de pontos não são aprimoradas a menos que você ative a otimização de pesquisa para as colunas referenciadas pelo predicado da consulta. Para melhorar o desempenho das consultas de pesquisa de pontos em uma tabela, use o comando ALTER TABLE … ADD SEARCH OPTIMIZATION para:

  • Ativar a otimização de pesquisa para colunas específicas.

  • Ativar a otimização de pesquisa para todas as colunas de tabela.

Em geral, habilitar a otimização de pesquisa apenas para colunas específicas é a prática recomendada. Use a cláusula ON EQUALITY para especificar as colunas. Esse exemplo permite a otimização de pesquisa para uma coluna específica:

ALTER TABLE mytable ADD SEARCH OPTIMIZATION ON EQUALITY(mycol);
Copy

Para especificar EQUALITY para todas as colunas dos tipos de dados compatíveis (exceto para semiestruturado e GEOGRAPHY):

ALTER TABLE mytable ADD SEARCH OPTIMIZATION;
Copy

Para obter mais informações, consulte Habilitação e desabilitação da otimização de pesquisa.

Exemplos de consultas de pesquisa de pontos compatíveis

O serviço de otimização de pesquisa pode melhorar o desempenho da seguinte consulta que usa um predicado de igualdade:

SELECT * FROM test_table WHERE id = 3;
Copy

A cláusula IN é suportada pelo serviço de otimização de pesquisa:

SELECT id, c1, c2, c3
  FROM test_table
  WHERE id IN (2, 3)
  ORDER BY id;
Copy