O Query Insight combina logs de consultas lentas com a tabela de sistema hg_table_info para oferecer uma visão completa do comportamento de qualquer consulta: consumo de recursos, metadados da tabela, plano de execução e atividade de bloqueios. Use esse recurso para diagnosticar consultas lentas, investigar falhas e determinar se conflitos DDL ou bloqueios de tabela causaram a falha.
Pré-requisitos
Antes de começar, verifique se você:
Fez logon em uma instância Hologres. Para mais detalhes, consulte Fazer logon em uma instância.
Tem as permissões necessárias para consultar logs de consultas lentas. Para mais detalhes, consulte Visualização e análise de logs de consultas lentas.
Limiares de coleta de dados
O Query Insight utiliza duas fontes de dados, cada uma com regras de coleta específicas. Revise esses limiares antes de consultar os dados para saber quando eles estarão disponíveis.
|
Dados |
Regra de coleta |
Observações |
|
Instruções DML |
Tempo de execução > 100 ms |
Limiar padrão do log de consultas lentas |
|
Instruções DDL |
Coleta de todas as instruções DDL |
Apenas instruções com tempo de execução > 1 s aparecem nos resultados da pesquisa |
|
Planos de execução |
Tempo de execução > 10 s |
Os planos são extraídos do campo Plan nos logs de consultas lentas |
|
Metadados da tabela |
Coletados diariamente pela manhã |
Dados disponíveis em T+1 (dia seguinte); tabelas criadas hoje podem ser consultadas amanhã |
|
Análise de Conflitos DDL |
Verifica janela de 1 minuto antes e depois da execução da consulta |
— |
Acessar o Query Insight
Acessar o Query Insight diretamente
O Query Insight está disponível em três locais no HoloWeb. Na página Query Insight, visualize Query Metadata e Table Metadata, além de executar Plan Visualization e Table Lock Analysis.
Acesso direto por Diagnostics and Optimization:
Faça logon no Console de Gerenciamento do Hologres.
No painel de navegação à esquerda da barra de menu superior, selecione a região de destino.
Clique em Go to HoloWeb.
No menu superior, selecione Diagnostics and Optimization. Em seguida, no painel de navegação à esquerda, clique em Metadata Warehouse Analysis > Query Insight.

Acesse o Query Insight
Navegação pelo SQL Editor:
No SQL Editor do HoloWeb, qualquer instrução SQL com tempo de execução superior a 1 s que contenha um Query ID exibe um link para o Query Insight. Clique no link para abrir a consulta diretamente no Query Insight.
Navegação pelas Consultas Lentas Históricas:
Na lista de consultas da página Historical Slow Queries, clique em
na coluna Actions da consulta desejada para acessar o Query Insight.
Metadados da Consulta
Os metadados da consulta têm origem nos logs de consultas lentas do Hologres. Na aba Query Metadata, selecione o Instance Name e o Query ID e clique em Search.
Esta aba exibe as seguintes seções:
Informações básicas
Exibe o ID da instância, o banco de dados e a versão do Milvus associados à consulta.
Informações da consulta
Mostra o usuário, o status de execução e o mecanismo de execução usado na consulta, conforme coletado nos logs de consultas lentas.
Consumo de recursos
Apresenta o uso de recursos durante a execução da consulta com base nos logs de consultas lentas, incluindo funções de varredura e consumo de CPU.
Outras informações
Exibe metadados adicionais dos logs de consultas lentas, como o endereço IP do cliente.
SQL
Mostra a instrução SQL completa. Use a opção de formatação para obter uma visualização mais legível ou copie a instrução diretamente.
Detalhes da consulta
Se a consulta foi executada com parâmetros, esta seção mostra os valores específicos desses parâmetros. Se necessário, integre os parâmetros à instrução SQL.
Plano de execução
Exibe o plano de execução obtido do campo Plan nos logs de consultas lentas.
Planos de execução são coletados apenas para consultas com tempo de execução superior a 10 s.
Use o recurso de visualização de plano para ver uma representação gráfica do plano. Para entender melhor como ler planos de execução, consulte EXPLAIN e EXPLAIN ANALYZE.
Estatísticas
Apresenta dados de consumo no nível de operador provenientes do campo Statistics nos logs de consultas lentas, incluindo o número de linhas verificadas e o tempo de execução de cada operador. Use esses dados para identificar quais operadores consomem mais recursos.
Informações de tabelas de leitura/gravação
Lista as tabelas lidas ou gravadas pela consulta. Clique em qualquer um dos links para acessar análises adicionais:
Table Metadata: Abre a página de Metadados da Tabela para a tabela selecionada. Os metadados da tabela vêm da tabela
hg_table_infoe são atualizados em base T+1. Tabelas criadas hoje só podem ser consultadas amanhã.Table Lock Analysis: Abre a página de Análise de Bloqueio de Tabela para verificar se a consulta mantém algum bloqueio relacionado a linguagem de manipulação de dados (DML). Isso é útil quando uma consulta com plano fixo fica lenta devido a operações DML concorrentes do mecanismo de execução do Hologres (HQE).
Análise de Conflitos DDL
Indica se as tabelas envolvidas na consulta tiveram operações de linguagem de definição de dados (DDL) dentro de um minuto antes ou depois do horário de execução da consulta. Se a consulta falhou com a mensagem de erro Query is canceled, esta seção ajuda a confirmar se um conflito DDL causou a falha.
Mensagens de erro
Se a consulta falhou, os detalhes do erro aparecem aqui. O Query Insight no HoloWeb adiciona automaticamente causas de falha e correções sugeridas para ajudar você a resolver erros SQL. Para obter uma referência de falhas comuns de SQL, consulte Perguntas frequentes sobre instruções SQL do Hologres.
Metadados da Tabela
Os metadados da tabela provêm da tabela de sistema hg_table_info, atualizada diariamente pela manhã. Os dados ficam disponíveis em base T+1.
Para acessar os Metadados da Tabela, clique em Table Metadata na seção Read/Write Table Information dos Metadados da Consulta. Alternativamente, insira diretamente o nome da instância, banco de dados, schema e horário de coleta de metadados.
Esta aba exibe as seguintes seções:
Informações básicas: Nome da tabela, indicação se a tabela é particionada e detalhes das partições.
Informações de Metadados da Tabela: Horário de criação da tabela, horário de coleta de metadados e capacidade de armazenamento.
Informações de Propriedades da Tabela: Índices definidos na tabela, incluindo chave primária (PK) e chave de distribuição.
Table Schema Information: Campos, tipos de campo, aceitação de valores nulos e valores padrão.
Visualização de plano
A Visualização de Plano exibe o campo Plan dos logs de consultas lentas como um plano de execução gráfico.
Dados de plano são coletados apenas para consultas executadas por mais de 10 s.
Por onde começar: Verifique primeiro a seção Statistics nos Metadados da Consulta. Ela mostra contagens de linhas e tempos de execução no nível do operador, permitindo identificar os operadores que mais consomem recursos antes de explorar o gráfico completo do plano.
Para referência sobre conceitos de planos de execução, consulte EXPLAIN e EXPLAIN ANALYZE.
Análise de bloqueio de tabela
A Análise de Bloqueio de Tabela verifica se a consulta gerou operações DML (INSERT, UPDATE ou DELETE) no mecanismo de execução do Hologres (HQE). Um bloqueio ocorre quando uma tabela tem consultas de leitura SDK ou HQE e consultas DML HQE em execução simultânea.
A Análise de Bloqueio de Tabela detecta apenas bloqueios relacionados a DML, não bloqueios DDL.
Se houver detecção de contenção de bloqueios, evite executar consultas SDK e operações DML HQE na mesma tabela simultaneamente.
Solução de problemas
Erro: relation with OID xxx does not exist
Este erro ocorre quando uma tabela envolvida na consulta foi alvo de uma operação TRUNCATE ou DROP, o que alterou o identificador de objeto (OID) da tabela.
Para investigar: Insira o Query ID no Query Insight e verifique a seção DDL Conflict Analysis para confirmar se existiam bloqueios DDL no momento da consulta.

Erro: query is canceled
Esse erro acontece quando tabelas envolvidas na consulta passaram por operações DDL, como TRUNCATE ou DROP, enquanto a consulta estava em execução.
Para investigar: Insira o Query ID no Query Insight. Na aba Query Metadata, abra a seção DDL Conflict Analysis para visualizar as operações DDL na tabela afetada.

Alta latência para instruções SQL do SDK
Se uma instrução SQL do SDK demorar mais do que o esperado, verifique se há contenção de bloqueios.
Para investigar: Na seção Read/Write Table Information, clique em Table Lock Analysis.

Se a análise mostrar uma instrução DML simultânea do HQE, significa que a operação DML do HQE adquiriu um bloqueio de tabela e fez a consulta SDK aguardar. Evite executar ambos os tipos de operação na mesma tabela ao mesmo tempo.
Se nenhuma operação DML do HQE for encontrada, a latência não é causada por bloqueios de tabela. Consulte Otimizar desempenho de gravação e atualização para prosseguir com a investigação.
Erro: Dispatch query failed: The shards are incomplete
Este erro indica que um ou mais shards na instância Hologres entraram em um estado inconsistente, geralmente devido a um coredump. Esse problema é causado por um defeito de software em versões mais antigas (como r4.1.10) e não está relacionado a problemas de contagem de conexões.
Para resolver esse problema, atualize sua instância Hologres para a versão 4.1.12 ou posterior. Recomendamos a atualização para a versão 4.1.18 ou posterior para garantir maior estabilidade. Para obter instruções, consulte Atualizar a versão da instância.