更新时间:2024-05-07 GMT+08:00
案例:调整分布键
现象描述
某局点测试过程中EXPLAIN ANALYZE后有如下情况:
从执行信息上比较明确的可以看出HashJoin是整个计划的性能瓶颈点,并且从HashJoin的执行时间信息[2657.406,93339.924](数值的具体含义请参见SQL执行计划详解),上可以看出HashJoin在不同的DN上存在严重的计算偏斜。
同时在Memory Information(如下图)中可以看出各个节点的内存资源消耗也存在极为严重的偏斜。
优化分析
上述两个特征表明了此SQL语句存在极为严重的计算倾斜。进一步向HashJoin算子的下层分析发现Seq Scan on s_riskrate_setting也存在极为严重的计算倾斜[38.885,2940.983]。根据Scan的含义推测此计划性能问题的根源在于表s_riskrate_setting数据的分布倾斜。实际分析之后确实发现表s_riskrate_setting存在严重的数据倾斜。整改之后性能从94s提升为50s。
父主题: 实际调优案例