我们使用的SQL Server 2008 R2用于兼容级别设置为2005(90)的数据库。
我们会在某个时候将其升级到2008年,但与此同时我想知道,如果数据库的兼容性水平较低,是否会对其性能产生负面影响?
我发现this question表示可能会产生负面影响,但它适用于旧版本的SQL Server。
答案 0 :(得分:1)
我现在正在进行SQL Server升级,我们正在努力将compat级别提高到100.我没有发现应用程序中的性能差异。我们之所以进行更改只是为了利用SQL Server的一些新功能。我们处于80级,所以主要原因是我们无法升级到2008 R2,直到我们运行到更高级别。请注意,到目前为止,您不能落后于当前的compat级别,以至于无法升级数据库。
我们一直在浏览代码库,删除使用不推荐语法的手动插入提示。事实证明,删除提示实际上提高了性能。据推测,这是因为查询优化器在过去十年中有所改进,以至于它可以比十年前开发人员选择的优化更好地进行优化。所以间接地,我们发现增加compat级别已经提高了性能,但这只是因为我们必须更改我们的应用程序代码库。
一旦我们提高了compat级别,我们就可以利用可以提高性能的新功能,但是我们没有看到在较低的compat级别运行数据库的性能低于运行相同的数据库(和应用程序) )在更高的兼容性水平。