SQL Server版本升级和缓存执行计划

时间:2011-01-21 17:06:26

标签: sql-server stored-procedures upgrade sql-server-2008-r2 sql-execution-plan

我刚刚将SQL Server 2008 R2 Express Edition升级到SQL Server 2008 R2标准版。安装工具执行升级没有任何问题。

然而,承诺的性能提升并不在这里。例如,SQL Server使用单CPU核心。

我认为SQL Server仍然使用SP的“旧”执行计划。如果是这样,有没有办法重建/重置执行计划?

或者在将Express升级到标准版时我应该考虑其他问题吗?

请告诉我是否应将其移至ServerFault。

1 个答案:

答案 0 :(得分:5)

执行计划仅在内存中。升级产品意味着更换二进制文件,这意味着新的过程。因此,您不可能有一个“旧”计划,现在缓存或执行的每个计划都是新的R2计划。

至于为什么你没有看到使用多核的SQL Server,可能有很多原因:

  • 您只从一个会话/连接发送请求,因此根本没有并发性
  • 您的负载没有可以从并行扫描中受益的查询(对于大多数负载来说,这实际上是认为,这意味着他们已经只扫描了少量数据)
  • 您的服务器被硬编码为一个CPU affinity mask(这可能是在升级期间继承的)
  • 您的观察方法可能有误,SQL Server确实使用了所有核心