一文掌握 clickhouse 语法优化规则

数据准备:

1)上传官方的数据集将 visits_v1.tar 和 hits_v1.tar 上传到虚拟机,解压到 clickhouse 数据路径下(需要测试数据的可加我微信,文章底部)

// 解压到 clickhouse 数据路径sudo tar -xvf hits_v1.tar -C /var/lib/clickhousesudo tar -xvf visits_v1.tar -C /var/lib/clickhouse//修改所属用户sudo chown -R clickhouse:clickhouse /var/lib/clickhouse/data/datasetssudo chown -R clickhouse:clickhouse /var/lib/clickhouse/metadata/datasets

2)重启

clickhouse-server sudo clickhouse restart

3)执行查询

clickhouse-client --query "SELECT COUNT(*) FROM datasets.hits_v1"

hits_v1 表有 130 多个字段,880 多万条数据

visits_v1 表有 180 多个字段,160 多万条数据

1、count优化

在调用count函数时,如果使用的是count()或者count(*),且没有where条件,则会直接使用system.tables的total_rows,例如:

EXPLAIN SELECT count() FROM datasets.hits_v1;

一文掌握 clickhouse 语法优化规则_第1张图片

Optimized trivial count ,这是对 count 的优化。

如果count里面有具体的列字段,则不会使用该优化。

EXPLAIN SELECT count(CounterID) FROM datasets.hits_v1;

你可能感兴趣的:(ClickHouse,clickhouse,数据存储,数据仓库)