【问题标题】:Is there a negative impact to using SQL Server with a lower compatibility level使用兼容性级别较低的 SQL Server 是否有负面影响
【发布时间】:2012-10-04 08:28:05
【问题描述】:

我们有 SQL Server 2008 R2,我们将其用于兼容级别设置为 2005 (90) 的数据库。

我们会在某个时候将其升级到 2008,但同时我想知道将数据库置于较低的兼容性级别是否会对其性能产生负面影响?

我发现 this question 暗示可能会产生负面影响,但它适用于旧版本的 SQL Server。

【问题讨论】:

  • 您引用的答案似乎混淆了在 2000 兼容模式下运行和在实际 SQL 2000 上运行。
  • 当我将我的 db compat 90 更新到 100 时,我在某些存储过程中遇到错误,有一个 commont 语句在更高版本中是不可接受的,它类似于 set @value=select..或者选择@value=,现在我忘记了,只是想知道你

标签: sql-server performance sql-server-2008-r2 database-performance


【解决方案1】:

我现在正在升级 SQL Server,我们正在努力将兼容级别提高到 100。我没有观察到我们的应用程序的性能差异。我们进行更改的部分原因是为了利用 SQL Server 的一些新功能。我们在 80 级,所以主要原因是我们无法升级到 2008 R2,直到我们在更高的级别上运行。请注意不要落后于当前的兼容级别,以至于无法升级数据库。

我们一直在检查我们的代码库,以删除使用过时语法的手动插入提示。事实证明,删除提示实际上提高了性能。据推测,这是因为查询优化器在过去十年中已经改进到可以比十年前开发人员选择的优化更好地优化。所以间接地,我们发现提高兼容级别可以提高性能,但这只是因为我们必须更改应用程序代码库。

一旦我们提高兼容级别,我们或许能够利用能够提高性能的新功能,但我们没有发现在较低兼容级别运行数据库比运行相同数据库(和应用程序)的性能更低) 在更高的兼容性级别。

【讨论】:

    猜你喜欢
    • 2010-09-05
    • 1970-01-01
    • 2020-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多