Tsql 内部合并联接

Tsql 内部合并联接,tsql,merge,inner-join,Tsql,Merge,Inner Join,我们有一些简单的sql查询,用内部联接连接几个表。 索引是存在的,优化器不会建议缺少索引 这些查询在我们的测试环境和其他几个系统上运行良好。 我们已经将sql应用到另一个系统,查询失败了。 在自己的服务器上运行:几乎是即时的。 新服务器上的运行时间:约40秒 数据量是可匹配的 将“merge”提示添加到内部联接中会给出估计的运行时,这是从自己的服务器知道的 为什么会有这些差异 我们使用的是ms sql 2008 r2。可能“慢速”系统上的并行执行设置和环境不同 暗示“合并联接”可能是替换了循环联

我们有一些简单的sql查询,用内部联接连接几个表。 索引是存在的,优化器不会建议缺少索引

这些查询在我们的测试环境和其他几个系统上运行良好。 我们已经将sql应用到另一个系统,查询失败了。 在自己的服务器上运行:几乎是即时的。 新服务器上的运行时间:约40秒

数据量是可匹配的

将“merge”提示添加到内部联接中会给出估计的运行时,这是从自己的服务器知道的

为什么会有这些差异


我们使用的是ms sql 2008 r2。

可能“慢速”系统上的并行执行设置和环境不同

暗示“合并联接”可能是替换了循环联接


确保这一点的最佳方法是获取在两个不同系统中生成的查询计划,并查看差异。

在不提供合并联接的服务器上,它提供了什么类型的联接?实际行数和估计行数之间是否存在较大差异?(您可以在实际执行计划中看到这一点)检查是否启用了“自动创建统计信息”和“自动更新统计信息”。新服务器上的统计信息是最新的吗?他们可能不是,在恢复之后