数据库兼容级别会影响性能吗?

数据库兼容级别会影响性能吗?

我们刚刚在相同规格的硬件上将 Microsoft SQL Server 从 2005 企业版迁移到 2008 标准版。备份了数据库,然后将其恢复到干净的 SQL 2008 安装。兼容级别目前为 90(2005)。2005 上没有使用任何企业功能(因此版本降级)。我们注意到 2008 上的 CPU 利用率与 2005 相比增加了约 10-12%。唯一的其他变化是 SQL 2005 运行的是服务器 2003 x64,而 2008 运行的是服务器 2008 x64。我们没有使用任何全文索引。

数据库兼容级别会影响性能吗?我们还没有重建任何索引或更新统计数据,这会产生影响吗?我们还应该寻找哪些可能影响性能的因素?

答案1

答案2

是否存在性能问题?换句话说,您唯一看到的是 CPU 利用率增加,但交易率没有下降?

如果应用程序现在能够每秒处理更多事务,那么处理器时间的增加完全可能是由于更高的吞吐量。如果存在硬件差异,这也可能是原因。您应该在移动后更新数据库上的统计信息和索引,这可能会导致 CPU 增加(但这取决于应用程序)

兼容级别仅指 T-SQL 语言兼容级别,因此通常不会对性能造成影响,除非您使用某些已被更优越的方法取代的代码,在这种情况下引擎可能不会针对旧代码进行优化。

答案3

您可以找到有关不同兼容级别的文档这里

数据库兼容级别主要影响 SQL 语法和查询解析,并且应该对性能没有影响;无论如何,如果您没有因为应用程序问题而被迫使用以前的级别,那么升级它被认为是最佳做法。

答案4

兼容性级别不应该成为问题。

如果您还没有这样做,我将在该服务器上运行 PerfMon,看看您是否可以确定增加的 CPU 利用率是来自 SQL Server、Windows 还是其他什么。

相关内容