同时,从实际的角度出发,相比于逻辑优化我们更关注整个 Plan Tree 的演变过程,在物理优化阶段我们更加关注某些关键算子是如何选择出他的 bestPlan 的过程,比如 Datasource 的索引选择,Join 算子的算法选择等等。因此,我们在物理优化的 trace 阶段,对于单个算子的 findBestTask 过程中,对于每个候选者而言,我们会记录他的单个 property, cost 和子节点(非递归)的 property 以及它们的 cost,并以此将每个算子的所有候选者都记录下来。