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