現象
次の条件が満たされている場合、クエリの実行速度が遅くなることがあります。
-
このクエリでは、 group byなどの集計が使用されます。
-
SQL Server では、クエリプランでハッシュ集計が使用されます。
-
個別の値の推定数は、集計での実際の値の数よりもずっと小さくなります。
この問題が発生すると、プロファイラーまたは拡張イベントのトレースを行うと、ハッシュ警告イベントが表示されます。
原因
この問題は、SQL Server の過小見積もりで、必要なメモリ許可量が推定されるために発生します。 これにより、intermiedate の結果が tempdb に収まるされます。
解決方法
この問題は、SQL Server の次の累積的な更新プログラムで最初に修正されました。
注:この修正プログラムを有効にするには、トレースフラグ9410を有効にする必要があります。
SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムをダウンロードしてインストールすることをお勧めします。
関連情報
ソフトウェアの更新を説明するために Microsoft が使用する 用語 について説明します。