首页/数据/NoSQL 速查/system.query_log 查询审计与性能分析
本包目录(322 条)
MongoDB99 条Elasticsearch89 条
ClickHouse56 条
时序与列式28 条选型与架构50 条

system.query_log 查询审计与性能分析

query_log 记录每条查询的类型、耗时、读取行数/字节、内存峰值与异常:是定位慢查询、分析扫描量与优化排序键的主要数据源。

NoSQL 速查数据更新于 2026-10-12
关键列type(QueryStart/QueryFinish/ExceptionWhileProcessing)、query_duration_ms、read_rows、read_bytes、memory_usage、query
过滤type = 'QueryFinish' 只看完成;is_initial_query = 1 过滤客户端初始查询
刷盘按秒级间隔异步写入,刚结束的查询可能暂不可见

示例

示例
SELECT
    query_duration_ms,
    read_rows,
    formatReadableSize(read_bytes) AS read_size,
    substring(query, 1, 80) AS q
FROM system.query_log
WHERE type = 'QueryFinish' AND event_time >= now() - INTERVAL 1 HOUR
ORDER BY query_duration_ms DESC
LIMIT 10;
query_log 自身也会占磁盘,长期保留要做 TTL 或降低采样;分析前先看它是否已配置启用。

易错点

  • read_rows 与扫描行数是优化排序键的直接依据,只对比总耗时容易误判
  • 日志表内容较多时按 event_time 分区过滤,避免自身查询也变慢

数据来源与参考

  • ClickHouse Docs: system.query_log
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌