数智融合计算服务 DATAARTSFABRIC-算子级调优
算子级调优
一个查询语句要经过多个算子步骤才会输出最终的结果。由于个别算子耗时过长导致整体查询性能下降的情况比较常见。这些算子是整个查询的瓶颈算子。通用的优化手段是EXPLAIN ANALYZE/PERFORMANCE命令查看执行过程的瓶颈算子,然后进行针对性优化。
如下面的执行过程信息中,Hashagg算子的执行时间占总时间的:(66167-56217)/66878=14.8%,Foreign scan算子的执行时间占总时间的:56217/66878=84%,此处Foreign scan算子就是这个查询的瓶颈算子,在进行性能优化时应当优先考虑此算子的优化,如使用分区表。
同时,对于两个表的Join,如果数据量较大时,且选择了NestLoop,此时该算子性能会比较差。需要设置enable_nestloop=off,选择HashJoin,则性能可以得到较大提升。