我们有 SQL Server 2008 R2,我们将其用于兼容级别设置为 2005 (90) 的数据库。
我们将在某个时候将其升级到 2008,但与此同时,我想知道将数据库置于较低的兼容性级别是否会对它的性能产生负面影响?
我发现这个问题暗示可能会产生负面影响,但它适用于旧版本的 SQL Server。
我们有 SQL Server 2008 R2,我们将其用于兼容级别设置为 2005 (90) 的数据库。
我们将在某个时候将其升级到 2008,但与此同时,我想知道将数据库置于较低的兼容性级别是否会对它的性能产生负面影响?
我发现这个问题暗示可能会产生负面影响,但它适用于旧版本的 SQL Server。
我现在正在升级 SQL Server,我们正在努力将兼容级别提高到 100。我没有观察到我们的应用程序的性能差异。我们进行更改的部分原因是为了利用 SQL Server 的一些新功能。我们在 80 级,所以主要原因是我们无法升级到 2008 R2,直到我们在更高级别运行。请注意,不要落后于当前的兼容级别,以至于无法升级数据库。
我们一直在检查我们的代码库,以删除使用过时语法的手动插入提示。事实证明,删除提示实际上提高了性能。据推测,这是因为查询优化器在过去十年中已经改进到可以比十年前开发人员选择的优化更好地优化。所以间接地,我们发现增加兼容级别提高了性能,但这仅仅是因为我们不得不改变我们的应用程序代码库。
一旦我们提高兼容级别,我们也许能够利用将提高性能的新功能,但我们还没有发现在较低兼容级别运行数据库比在同一数据库(和应用程序)运行相同的数据库具有更低的性能。更高的兼容性级别。