微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

减少 ClickHouse 中的资源消耗

如何解决减少 ClickHouse 中的资源消耗

桌子

CREATE TABLE events
(
    site_id UInt64,name    String
    -- other columns
)
ENGINE = CollapsingMergeTree(sign_flag)
PARTITION BY site_id
ORDER BY (name)
SETTINGS index_granularity = 8192;

查询

SELECT 'wtf',*
FROM events
WHERE site_id = 1 AND
      name = 'some_name'
LIMIT 100000;

日志

SELECT formatReadableSize(read_bytes)    AS read_bytes,formatReadableSize(memory_usage)  AS memory_usage,formatReadableQuantity(read_rows) AS read_rows,query_duration_ms / 1000 AS query_duration_sec,query
FROM system.query_log
WHERE query LIKE '%wtf%'
ORDER BY
    event_time DESC
LIMIT 100;
+------------+--------------+--------------+--------------------+
| read_bytes | memory_usage | read_rows    | query_duration_sec |
+------------+--------------+--------------+--------------------+
| 578.41 MiB | 131.95 MiB   | 1.01 million | 10.773             |
+------------+--------------+--------------+--------------------+

我认为日志中有非常大的数字。

如何优化它或者我错过了一些关于服务器配置的内容

解决方法

考虑定义另一个主键 - 为此查询 ORDER BY (name,site_id)

选择PK是设计中非常重要的一部分,选择正确的PK需要观察所有用例图。 查看更多详情:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。