PostgreSQL 18 中文参考文档(未翻译部分保留英文)🌐 切换到英文原版 →

14.3. 用显式连接子句控制规划器 #

在处理包含大量多表关联的复杂查询时,若参与连接的表数量过多,遍历所有可能的连接拓扑树排列将导致规划阶段产生天文数字般的 CPU 耗时。PostgreSQL 提供了参数 ??? 与 ??? 来控制优化器何时将显式声明的 JOIN 语法强行打散重排。当将 join_collapse_limit 设为 1 时,优化器将严格按照 SQL 语句中显式书写 JOIN 的前后顺序执行表连接,这为资深 DBA 提供了一种纯靠手写 SQL 语法结构来直接指挥底层连接顺序的强力干预手段。