PLAN:查看执行计划,其中PLAN是默认选项,并且查看执行计划时还可以设置一些额外的参数:
header:打印计划中各个步骤的head 说明,默认值为 0 表示关闭,如果开启,设置为 1
description:打印计划中各个步骤的描述,默认值为 1 表示开启,如果关闭,设置为 0
actions:打印计划中各个步骤的详细信息,默认值为 0 表示关闭,如果开启,设置为 1
//默认
EXPLAIN select * from Fact_YWDYQLRXX_M
//EXPLAIN 等价于 EXPLAIN PLAN
EXPLAIN PLAN select * from Fact_YWDYQLRXX_M
//打印具体情况
EXPLAIN header = 1, actions = 1
select * from Fact_YWDYQLRXX_M
SYNTAX:用于优化语法,有时我们指定的查询语句未必是最优的,那么 ClickHouse 在底层会进行优化,EXPLAIN SYNTAX 可以返回对一条 SQL 语句进行优化后的结果。通过对比优化前和优化后的 SQL 语句,可以有助于我们理解 ClickHouse 的优化机制
EXPLAIN SYNTAX
SELECT number < 5 ? '小于 5' : (number = 5 ? '等于 5' : '大于 5') FROM numbers(10);
//执行结果为
SELECT if(number < 5, '小于 5', if(number = 5, '等于 5', '大于 5'))
FROM numbers(10)