有没有办法做clickhouse索引和分区分析

问题描述

以我对ClickHouse的有限经验,我需要分析表的索引和分区有什么办法可以得到clickhouse使用什么索引和什么分区的查询? 提前致谢。

解决方法

通过控制台客户端,您可以使用 set send_logs_level='debug';。在此之后,对于每个查询,您将看到有关查询执行管道的信息。这对于分析分区、索引、内存和过滤器效率非常有帮助。 查询日志示例:

2021.03.30 16:17:13.716531 [ 3784 ] {db566a26-e6a8-4a15-ac48-f7b8e2d09652} <Debug>  (SelectExecutor): Selected 1607 parts by date,1607 parts by key,2265893 marks by primary key,2265893 marks to read from 1607 ranges

显示查询将从 1607 个部分读取。

如果您需要信息来比较查询/表结构的不同变体 - 查看 query_log,它有很多信息可以比查询执行时间更精确地进行比较。