5.3.2 子查询下推与连接重排序 在数据库查询优化的浩瀚星图中,子查询下推(Subquery Pushdown)与连接重排序(Join Reordering)从来不是孤立闪烁的两颗星——它们是同一枚硬币的正反面:一面刻着谓词下压的物理穿透力,另一面镌着关联路径的组合爆炸破解术。当一条嵌套三层、含 EXISTS、IN 与标量子查询的 SQL 被提交到查询引擎时,优化器面对的并非一张静态的关系代数树,而是一场在逻辑等价空间中高速穿行的拓扑寻路任务。它必须在毫秒级内回答三个本质问题: 这个子查询,能否从顶层“坠落”到更靠近数据源的位置执行? 若能下推,它将与哪个表产生最紧耦合的过滤效应? 而当多个表被 JOIN 缠绕成网,哪一种连接顺序能让中间结果集最小、I/O 最少、CPU 最省?