Pular para o conteúdo principal

Resposta

A tabela query_log no banco de dados system registra todas as suas consultas, incluindo:
  • quanta memória a consulta consumiu e
  • quanto tempo de CPU foi necessário
A consulta a seguir retorna as 10 principais consultas, em que “principais” se refere às consultas que usaram mais memória:
A resposta é assim:
O initial_query_id representa o ID da consulta inicial na execução distribuída de consultas disparada a partir do nó que recebe a requisição. O query_id contém o ID da consulta filha executada em outro nó. Consulte este artigo para mais detalhes.
Você pode usar o ID da consulta para obter mais detalhes sobre ela. Vamos investigar nossa consulta de maior duração acima (a primeira):
Trata-se da consulta que usamos para inserir alguns bilhões de linhas em uma tabela chamada youtube (veja o conjunto de dados YouTube dislikes):

initial_query_id VS query_id

Observe que, em um ambiente ClickHouse em cluster (como o ClickHouse Cloud), initial_query_id representa o ID da consulta inicial na execução distribuída de consultas iniciada a partir do nó que recebe a solicitação; já o campo query_id conterá o ID da consulta filha executada em outro nó. Se adicionarmos query_id à consulta acima, restringiremos nossa busca a initial_query_id = a7262fa2-bd8b-4b51-a359-621ccf282417 e hostname():
teremos:
Observe que temos vários resultados vindos de vários hosts (os diferentes nós do cluster). Para refinar ainda mais e obter apenas as consultas filhas, também poderíamos adicionar a condição query_id != initial_query_id à cláusula WHERE:
retorna todas as consultas filhas executadas nos nós remotos (ou seja, remotos em relação ao nó em que a consulta foi emitida pela primeira vez):
por outro lado, query_id = initial_query_id retornará apenas as consultas executadas no nó local em que a consulta distribuída foi iniciada:
resultando em:
Assim como nas outras tabelas do sistema, você pode encontrar mais detalhes sobre o significado de cada campo na nossa documentação.
Última modificação em 19 de junho de 2026