执行计划
语法格式
EXPLAIN [AST | SYNTAX | PLAN | PIPELINE | TABLE OVERRIDE] [setting = value, ...]
[
SELECT ... |
tableFunction(...) [COLUMNS (...)] [ORDER BY ...] [PARTITION BY ...] [PRIMARY KEY] [SAMPLE BY ...] [TTL ...]
]
[FORMAT ...]
由如上语法格式可以看到EXPLAIN分为如下4种:AST
、SYNTAX
、PLAN
、PIPELINE
,不写默认为PLAN。
EXPLAIN AST
打印查询AST,支持所有查询,不仅仅限于SELECT语句。
EXPLAIN SYNTAX
打印查询AST经过优化后的结果
EXPLAIN PLAN
打印查询计划步骤,提供如下设置:
header
:打印每个步骤头,默认0表示关闭;description
:打印每步说明,默认1表示开启;indexes
:打印所使用的索引、过滤分区数和过滤索引粒度,默认为0表示关闭,❓仅适用于MergeTree表?action
:打印每步明细,默认0表示关闭;json
:以json格式打印,默认0表示关闭,建议使用TSVRAW格式以避免不必要的转义。
EXPLAIN PIPELINE
提供如下配置:
header
:graph
:compact
:
EXPLAIN ESTIMATE
打印大概的行数、标记和分区信息,适用于MergeTree表引擎