Skip to main content

Использование таблицы system.query_log

Следующий полезный запрос показывает, какие из выполненных вами запросов использовали больше всего памяти. Пара замечаний к этому запросу:
  • результаты вычисляются за последний день (now() - toIntervalDay(1))), но вы можете легко изменить временной интервал
  • предполагается, что у вас есть кластер с именем default — так называется ваш кластер в ClickHouse Cloud. Замените default на имя вашего кластера
  • если у вас нет кластера, см. запрос, приведённый в конце этой статьи
Ответ выглядит так:
Если у вас нет таблицы system.query_log, скорее всего, у вас не включено логирование запросов. О том, как его включить, см. описание настройки query_log.
query_log содержит не только отправленные вами запросыОдин отправленный запрос может отображаться в виде нескольких строк: исходный запрос (is_initial_query = 1) и производные или внутренние шаги (is_initial_query = 0), например вторичные запросы для распределённого выполнения или внутренние запросы, используемые для вычисления представлений. У этих внутренних строк собственные значения query_id — их назначает ClickHouse, и иногда они содержат метку вроде queryView..., — поэтому не следует считать, что каждый query_id совпадает с тем, который сообщил ваш клиент. Чтобы отнести использование к запросу именно в том виде, в котором вы его выполнили, отфильтруйте по is_initial_query = 1 или сопоставьте query_id = initial_query_id. Подробности см. в разделе Как определить самые ресурсоёмкие запросы и в справочнике query_log.
Если у вас нет кластера, вы можете выполнять запросы напрямую к единственной таблице system.query_log:
Последнее изменение 14 августа 2026 г.