添加新的跳过索引
Posted
技术标签:
【中文标题】添加新的跳过索引【英文标题】:Adding new skip indexes 【发布时间】:2021-08-13 06:20:50 【问题描述】:我们已经在 prod 上运行了一个带有 1 个跳过索引的 clickhouse 集群,现在我们正在尝试使用此命令添加 2 个新索引:ALTER TABLE ****** ON CLUSTER ***** ADD INDEX new_index1 eVar1 TYPE set(100) GRANULARITY 1, ADD INDEX new_index2 prop0 TYPE set(100) GRANULARITY 1;
我从文档中读到,为了将这些新索引应用于现有数据,我们还需要在查询下运行,也是如此:
OPTIMIZE TABLE ******* ON CLUSTER ****** FINAL
但是,我们仍然没有看到使用这些索引的查询有任何性能改进,有什么方法可以调试查询中使用了哪些索引?我尝试了 EXPLAIN PLAN 命令,但我们使用的版本不支持使用 EXPLAIN 设置索引。
【问题讨论】:
【参考方案1】:尝试运行 clickhouse-client 并运行
SET send_logs_level='trace';
SELECT ... your query;
它会告诉你使用哪个二级索引以及它如何跳过数据部分
也许您的索引类型或您的列值分布对应用索引和索引无效,只是不跳过任何内容,或者在查询执行期间跳过太低的数据部分
【讨论】:
以上是关于添加新的跳过索引的主要内容,如果未能解决你的问题,请参考以下文章