4

互換性レベルが 2005 (90) に設定されたデータベースに使用している SQL Server 2008 R2 があります。

ある時点で 2008 にアップグレードする予定ですが、それまでの間、データベースの互換性レベルを下げるとパフォーマンスに悪影響が及ぶかどうかを知りたいですか?

マイナスの影響がある可能性があることを意味するこの質問を見つけましたが、これは古いバージョンの SQL Server 用です。

4

1 に答える 1

1

現在SQLServerのアップグレードを行っており、互換性レベルを100に上げるように取り組んでいます。アプリケーションのパフォーマンスの違いは確認されていません。SQLServerのいくつかの新機能を利用するために部分的にのみ変更を加えている理由。レベル80であるため、主な理由は、より高いレベルで実行するまで2008R2にアップグレードできないことです。データベースをアップグレードできないほど、現在の互換性レベルを下回らないように注意してください。

非推奨の構文を使用して手動で挿入されたヒントを削除するために、コードベースを調べてきました。ヒントを削除すると、実際にパフォーマンスが向上することがわかりました。おそらく、これは、クエリオプティマイザが過去10年間で改善され、10年前に開発者が選択した最適化よりも最適化できるようになったためです。間接的に、互換性レベルを上げるとパフォーマンスが向上することがわかりましたが、これはアプリケーションのコードベースを変更する必要があったためです。

互換性レベルを上げると、パフォーマンスを向上させる新機能を利用できる可能性がありますが、互換性レベルの低いデータベースを実行すると、同じデータベース(およびアプリケーション)を実行するよりもパフォーマンスが低下することはわかりません。より高い互換性レベル。

于 2012-10-04T13:54:03.067 に答える