Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Identificando consultas mais custosas pelo uso de memória no ClickHouse

Usando a tabela system.query_log

A consulta útil a seguir mostra quais das consultas executadas por você usaram mais memória.

Alguns comentários sobre esta consulta:

  • os resultados são calculados com base no último dia (now() - toIntervalDay(1))), mas você pode modificar facilmente o intervalo de tempo
  • ela pressupõe que você tenha um cluster chamado default, que é o nome do seu cluster no ClickHouse Cloud. Altere default para o nome do seu cluster
  • se você não tiver um cluster, consulte a consulta listada no final deste artigo
SELECT
    count() as nb_query,
    user,
    query,
    sum(memory_usage) AS memory,
    normalized_query_hash
FROM
    clusterAllReplicas(default, system.query_log)
WHERE
    (event_time >= (now() - toIntervalDay(1)))
    AND is_initial_query = 1
    AND query_kind = 'Select'
    AND type = 'QueryFinish'
    and user != 'monitoring-internal'
GROUP BY
    normalized_query_hash,
    query,
    user
ORDER BY
    memory DESC;

A resposta será semelhante a:

┌─nb_query─┬─user────┬─query─────────────────────────────────────────────────────────┬───memory─┬─normalized_query_hash─┐
│       11 │ default │ select version()                                              │ 46178924 │   7202516440347714159 │
│        2 │ default │ SELECT * FROM "system"."table_functions" LIMIT 31 OFFSET 0    │  8391544 │  12830067173062987695 │
└──────────┴─────────┴───────────────────────────────────────────────────────────────┴──────────┴───────────────────────┘

Se você não tiver um cluster, poderá consultar diretamente a sua tabela system.query_log:

SELECT
    count() as nb_query,
    user,
    query,
    sum(memory_usage) AS memory,
    normalized_query_hash
FROM
    system.query_log
WHERE
    (event_time >= (now() - toIntervalDay(1)))
    AND is_initial_query = 1
    AND query_kind = 'Select'
    AND type = 'QueryFinish'
    and user != 'monitoring-internal'
GROUP BY
    normalized_query_hash,
    query,
    user
ORDER BY
    memory DESC;
Navigation