clickhouse 优化

ClickHouse Query Performance Tips and Tricks

建表

join

select 优化

lowcardinality

lowcardinality 是一种改变数据存储和数据处理方法的概念。 clickhouse会把 lowcardinality 所在的列进行dictionary coding。对很多应用来说,处理字典编码的数据可以显著的增加select查询速度。

使用 lowcarditality 数据类型的效率依赖于数据的多样性。如果一个字典包含少于10000个不同的值,那么clickhouse可以进行更高效的数据存储和处理。反之如果字典多于10000,效率会表现的更差。

当使用字符类型的时候,可以考虑使用 lowcardinality 代替enum。 lowcardinality 通常更加灵活和高效。