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

Mic*_*tov 3 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,请告知我们.

Rem*_*anu 5

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

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

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