小编dtr*_*yan的帖子

相同的模式、相同的数据、相同的执行计划?

我在 SQL Server 2014 SP2 中有一个 T-SQL 存储过程,它在服务器上花费的时间是我在本地环境中花费的时间的 3 倍。

我将本地数据库恢复到服务器上的数据库,因此架构和数据是相同的。

我是一名程序员,并不是真正的 DBA,所以请耐心等待。

在您查看 XML 之前,执行计划似乎是相同的。在我的本地环境中,Stream Aggregate 用于其中一个查询以进行不同的选择,而在服务器上,它看起来像是 Sort 与散列一起使用。

服务器的处理器比我的(野兽)本地机器少的事实似乎导致了这个问题。每个查询在服务器上都需要更长的时间。这可能是在服务器上选择排序/散列而不是流聚合的原因吗?

有没有办法强制流聚合?

这是存储过程的 SQL:http : //pastebin.com/kkXM3Bsf

这是我本地环境的执行计划:http : //pastebin.com/0u7SHxnM

这是服务器的执行计划:http : //pastebin.com/9sE9DfM0

sql-server execution-plan sql-server-2014

3
推荐指数
1
解决办法
98
查看次数