Skip to main content

system.query_log 테이블 사용하기

다음의 유용한 쿼리는 실행된 쿼리 중 어떤 쿼리가 가장 많은 메모리를 사용했는지 보여줍니다. 이 쿼리에 대해 몇 가지 설명드리면 다음과 같습니다.
  • 결과는 지난 1일(now() - toIntervalDay(1)))을 기준으로 계산되지만, 시간 인터벌은 쉽게 수정할 수 있습니다
  • default라는 이름의 클러스터(cluster)가 있다고 가정합니다. 이는 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 테이블에 직접 쿼리할 수 있습니다:
마지막 수정일 2026년 8월 14일