一个SQL语句的通用执行流程一般是:
smart scan -> scan -> join -> aggregation -> sort -> materialization -> send result
包含聚集和排序操作的时候通常无需单独的物化步骤,物化在聚集和排序过程中已经完成。如果是包含嵌套子查询的复杂SQL,嵌套子查询从内至外递归执行,每一层的执行顺序与上述过程基本相同。
trace日志是一种常用的性能分析手段,通过查看trace中记录的操作步骤、执行时间及执行过程中主要资源的使用情况等,可以比较方便的诊断性能问题,分析性能瓶颈。