这是Microsoft TechNet解释跟踪标志342(强调添加)的描述:
显着禁用伪合并连接的成本核算 减少某些类型的大型解析所花费的时间, 多表连接。也可以使用SET FORCEPLAN ON来禁用 伪合并连接的成本因为查询被强制使用 在FROM子句中指定的顺序。
你们有谁知道什么是伪合并连接?据我所知,SQL Server有3个连接算法(嵌套循环连接,合并连接和散列连接 - 包含位图连接)。那么什么是伪合并连接,它与常规合并连接或任何其他连接之间的区别是什么?
答案 0 :(得分:1)
我知道这是一个古老的问题,但我会尽力回答它。
伪合并不是一种用作T-SQL语言运算符的Join,我使用跟踪标志342 对Microsoft explanation的解释如下: :
显着禁用伪合并连接的成本计算 减少某些类型的大型解析所花费的时间, 多表连接。
伪合并是表示查询优化器正在尝试计算更好的查询执行计划的概念,试图获得加入多个表的最佳方法。
也可以使用SET FORCEPLAN ON来禁用成本核算 伪合并连接,因为查询被强制使用该命令 在FROM子句中指定。
此选项prevents the optimizer from trying to calculate,只需执行查询中列出的联接。
有关SET FORCEPLAN ON的文章供参考。