语法
EXPLAIN [SYNTAX | PLAN | PIPELINE] [setting = value, ...] SELECT ... [FORMAT ...]
参数解释:
SYNTAX:查看优化后的语句
PLAN:用于查看执行计划,默认值
- description:打印计划中各个步骤的描述,默认开启,默认值1
- actions:打印计划中各个步骤的详细信息,默认关闭,默认值0
PIPELINE:用于查看PIPELINE计划
PLAN 例子
例子1
执行下面SQL:
explain select * from t_student_mt where age<23 and height <180 order by age
结果如下:
Expression (Projection)
MergingSorted (Merge sorted streams for ORDER BY) # 合并排序
MergeSorting (Merge sorted blocks for ORDER BY) # 合并排序
PartialSorting (Sort each block for ORDER BY) # 部分排序
Expression (Before ORDER BY)
Filter (WHERE) # 过滤
SettingQuotaAndLimits (Set limits and quota after reading from storage)
ReadFromMergeTree # 读数据
例子2
explain select avg(age) from t_student_mt where age<23 and height <180
结果如下:
Expression ((Projection + Before ORDER BY))
Aggregating # 执行聚合
Expression (Before GROUP BY)
Filter (WHERE) # 过滤
SettingQuotaAndLimits (Set limits and quota after reading from storage)
ReadFromMergeTree
查看更详细的信息
explain actions = 1 select avg(age) from t_student_mt
结果如下:
Expression ((Projection + Before ORDER BY))
Actions: INPUT :: 0 -> avg(age) Float64 : 0
Positions: 0
Aggregating
Keys:
Aggregates:
avg(age)
Function: avg(Int32) → Float64
Arguments: age
Argument positions: 0
Expression (Before GROUP BY)
Actions: INPUT :: 0 -> age Int32 : 0
Positions: 0
SettingQuotaAndLimits (Set limits and quota after reading from storage)
ReadFromMergeTree
ReadType: Default
Parts: 3
Granules: 3
SYNTAX 例子
查看优化后的语法:
explain SYNTAX select count(1) from t_student_mt
或
explain SYNTAX select count(*) from t_student_mt
执行结果如下:
SELECT count()
FROM t_student_mt
说明上面的 2个语句,优化成下面 SQL:
SELECT count() FROM t_student_mt
然后执行的
pipeline 例子
explain pipeline select avg(age) from t_student_mt where age<23 and height <180
执行结果:
(Expression)
ExpressionTransform
(Aggregating)
Resize 2 → 1
AggregatingTransform × 2 # 说明2个线程在运行
StrictResize 2 → 2
(Expression)
ExpressionTransform × 2
(Filter)
FilterTransform × 2
(SettingQuotaAndLimits)
(ReadFromMergeTree)
MergeTreeThread × 2 0 → 1
如果虚拟机使用 双核 或 双CPU,可以看到上面效果
参考:
https://blog.csdn.net/qq_40378034/article/details/120473116