导语
Join Reordering 是数据库优化领域中备受关注的问题。Join Reordering 的问题可以描述为给定一条多表 Join 的 SQL,输出一个 Join Order,使得查询性能最优。TDSQL for PG 优化器使用动态规划自下而上的枚举所有可能的 Join Order,对于存在 left join、full join、semi join 和 anti join 的场景,TDSQL for PG 如何保证生成的 Join Order 是正确的?
1、什么是Join Reordering?



2、常见的Join Reordering方式






3、Bottom-up Join Reordering 如何保证正确性和完备性
1)TDSQL for PG Outer Join 合法性检查



2)Reorderability






3)Core Search Space






4)DPsube


5)CD-A













6)CD-B














7)CD-C















8)Rule Simplification

9)Cross Products and Degenerate Predicates

4、TDSQL for PG Join Reordering
实现分析


















































