現象
Microsoft SQL Server 2014、2016、および 2017 がインストールされているとします。 多数の null 値を含むテーブル列があり、デフォルトのカーディナリティ推定量 (CE) を使用してそのテーブルに対してクエリを実行します。 このシナリオでは、テーブル列をコンパイル時に不明な値と比較するフィルターで過大評価が発生する可能性があります。
解決策
この問題は、次の SQL Server の更新プログラムで修正されています。
SQL Server 2017 の累積的な更新プログラム 13
累積アップデート 4 (SQL Server 2016 SP2)
SQL Server 2016 SP1 の累積的な更新プログラム 12
SQL Server 2014 SP3 の累積的な更新プログラム 1
SQL Server 2014 Service Pack 2 の累積的な更新プログラム 14
SQL Server 用の累積的な更新プログラムについて
SQL Server 用の新しい累積的な更新プログラムには、以前のビルドであったすべての修正プログラムとセキュリティ修正プログラムが含まれます。 ご使用のバージョンの SQL Server 用の最新ビルドをインストールすることをお勧めします。
SQL Server 2017 の最新の累積的な更新プログラム
SQL Server 2016 の最新の累積的な更新プログラム
SQL Server 2014 の最新の累積的な更新プログラム
状態
Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。
参考資料
Microsoft がソフトウェア更新プログラムについて説明するために使用する 用語について説明します 。