减少ClickHouse中的资源消耗

减少ClickHouse中的资源消耗,clickhouse,Clickhouse,桌子 创建表事件 站点id UInt64, 名称字符串 -其他栏目 引擎=折叠合并树设计标志 按站点id划分的分区 点名 设置索引粒度=8192; 询问 选择“wtf”, * 从事件中 其中site_id=1和 name='某个名称' 限额100000; 日志 选择formatReadableSizeread_字节作为读取字节, formatReadableSizememory\u使用量作为内存使用量, formatReadableQuantityread\u行作为已读行, 查询持续时间\u m

桌子

创建表事件 站点id UInt64, 名称字符串 -其他栏目 引擎=折叠合并树设计标志 按站点id划分的分区 点名 设置索引粒度=8192; 询问

选择“wtf”, * 从事件中 其中site_id=1和 name='某个名称' 限额100000; 日志

选择formatReadableSizeread_字节作为读取字节, formatReadableSizememory\u使用量作为内存使用量, formatReadableQuantityread\u行作为已读行, 查询持续时间\u ms/1000作为查询持续时间\u秒, 查询 从system.query\u日志 其中的查询类似于“%wtf%” 订购人 事件时间描述 上限为100; 我认为日志中有很多数字


如何优化它,否则我会错过一些关于服务器配置的信息?

请考虑定义另一个主键-按名称、站点id为该查询顺序

选择PK是设计中相当重要的一部分,要选择正确的PK需要观察用例的所有图片。 有关更多详细信息,请参阅:

.
考虑为这个查询顺序定义另一个主键,名为SITEYID。选择PK是设计的一个非常重要的部分,要选择正确的一个,需要观察用例的所有图片。如果从800列的表中查询*,CH可以吃10GB RAM来读取1行。因为每个列都有缓冲区。CH为每列创建>2MB的缓冲区。@vladimir在更改PK read_rows=10650000 | query_duration_sec=1.175之后。请移动您的评论以回答,我将接受它。
+------------+--------------+--------------+--------------------+
| read_bytes | memory_usage | read_rows    | query_duration_sec |
+------------+--------------+--------------+--------------------+
| 578.41 MiB | 131.95 MiB   | 1.01 million | 10.773             |
+------------+--------------+--------------+--------------------+