我们有一些简单的sql-queries,连接几个带有内连接的表。 索引是存在的,优化器不建议丢失索引。
查询在我们的测试环境和其他几个系统上运行良好。 我们已经将sql应用到另一个系统,并且查询失败了。 运行在自己的服务器上:几乎是即时 新服务器上的运行时:大约40秒。
数据量是可匹配的。
将“merge”提示添加到内部联接可以提供从自己的服务器获知的估计运行时。
为什么会出现这些差异?
我们在ms-sql 2008 r2上。
答案 0 :(得分:1)
在“慢”系统上,并行执行设置和环境可能不同。
提示“合并连接”可能是您替换了循环连接。
最好的方法是获取在两个不同系统中生成的查询计划,并查看差异。