Monitoramento da otimização de pesquisa usando o Snowsight¶
Depois de ativar o serviço de otimização de pesquisa, você pode usar o Snowsight para monitorar as estatísticas sobre como as consultas o utilizam. Você também pode usar o Snowsight para determinar por que uma consulta não está usando o serviço de otimização de pesquisa.
Monitore o uso da otimização de pesquisa para uma consulta¶
Quando uma consulta usa o serviço de otimização de pesquisa, o perfil de consulta inclui o seguinte:
Nó Search Optimization Access – Um nó Search Optimization Access dedicado está no plano de consulta. Selecione esse nó para acessar as informações de varredura de tabela, bem como informações específicas de otimização de pesquisa.
Painel Attributes – Este painel do nó contém o seguinte:
Nome completo da tabela – Identifica a tabela examinada para a consulta que usou a otimização de pesquisa.
Informações de uso da otimização de pesquisa – Esta seção lista os IDs de expressão que a otimização de pesquisa referenciou durante a execução da consulta. Cada ID de expressão corresponde a um método de pesquisa e a um destino de coluna definidos para a tabela. Execute a seguinte consulta para mostrar os IDs de expressão, bem como seus métodos e destinos correspondentes:
Para obter mais informações sobre esse comando, consulte DESCRIBE SEARCH OPTIMIZATION.
Painel Statistics – Esse painel do nó contém as seguintes métricas:
Bytes scanned – A quantidade total de dados lida durante a execução de uma operação de verificação da tabela.
Partitions scanned – O número de micropartições que foram realmente escaneadas.
Partitions total – O número total de micropartições da tabela.
Partitions pruned by search optimization – O número de micropartições que a otimização de pesquisa eliminou efetivamente da verificação de tabela correspondente.
A imagem a seguir mostra um exemplo das métricas no painel Statistics:
Determinar o motivo pelo qual a otimização de pesquisa não foi usada¶
Mesmo quando a otimização de pesquisa está configurada para uma tabela, ela pode nem sempre ser usada. Se a otimização de pesquisa não foi usada para uma consulta, examine a seção Search Optimization Usage Info do nó Table Scan no painel Attributes. A seção mostra uma das seguintes explicações:
Quando há uma incompatibilidade de predicado, a seguinte mensagem é exibida:
Essa mensagem indica que o predicado usado na consulta dessa tabela não é compatível com os métodos de pesquisa definidos para a tabela. Você pode revisar a configuração de otimização da tabela executando o seguinte comando:
Para obter informações sobre os predicados e tipos de dados compatíveis com a otimização de pesquisa, consulte Identificação de consultas que podem se beneficiar da otimização de pesquisa.
Quando há uma decisão baseada no custo de não usar a otimização de pesquisa, a seguinte mensagem é exibida:
Essa mensagem indica que os predicados usados na consulta são compatíveis com os métodos de pesquisa definidos para a tabela, mas o otimizador de consultas decidiu que o desempenho da consulta provavelmente não seria melhorado pela otimização de pesquisa. As consultas subsequentes com predicados diferentes ou dados diferentes na tabela de origem podem usar a otimização de pesquisa.
Quando o limite do predicado é excedido, a seguinte mensagem é exibida:
Essa mensagem indica que o predicado contém muitos predicados distintos. A contagem exata dos predicados de otimização de pesquisa depende dos tipos de predicados e pode não corresponder exatamente ao número de predicados na consulta. As consultas de substring e consultas de busca de texto completo que usam a sintaxe curinga têm maior probabilidade de atingir o limite de predicados.
A imagem a seguir mostra um exemplo de mensagem de incompatibilidade de predicado: