適用先
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Business Intelligence - duplicate (do not use) SQL Server 2014 Web - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

現象

クラスター化された列ストアテーブルのテーブル結合を含むクエリを実行するときに、結合があり、WHERE 句が同じ列を参照している場合、SQL Server では、テーブル結合のハッシュ結合が評価されないことがあります。

原因

この問題は、クエリの正規化中に結合キーがクエリツリーから削除されるために発生します。 設計上、SQL Server では、結合キーがない結合に対してハッシュ結合の計画は生成されません。

解決方法

累積的な更新情報

この改善は、次の SQL Server の累積的な更新プログラムで導入されました。

SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムをダウンロードしてインストールすることをお勧めします。

回避策

この問題を回避するには、クエリに OPTION (HASH JOIN) ヒントを追加します。

詳細情報

この累積的な更新プログラムは、列ストアテーブルに対してテーブルの結合が実行されるときに、SQL Server がハッシュ結合計画を評価することを示します。 ハッシュ結合はバッチモードで実行できるため、列ストアテーブルにアクセスするクエリはハッシュ結合で利用できます。改善を有効にするには、トレースフラグ2441をスタートアップパラメーターに追加するか、またはオプション (QUERYTRACE, 2441) をクエリに追加します。

状態

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。