現象
Microsoft SQL Server 2017 または2019がインストールされていることを前提としています。 既定の 基数推定 (CE)。 列 Col1 にフィルター述語が含まれているクエリを実行します。 照会 述語には、固有の上位、下位、または RTRIM があります。 Col1 の統計情報 オプティマイザーによって使用されます。 このシナリオでは、不正確な基数が表示されることがあります。 SQL Server では、非効率的なプランが使用されていることを推定します。 述語が含まれているクエリの例を次に示します。
[差出人からの person_id] を選択します (メール (N ' @live .com% ') といいます。
[差出人からの person_id] を選択します (メール = UPPER(N'msft@live.com '))
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
解決方法
この問題は、SQL Server の次の累積的な更新プログラムで修正されています。
SQL Server の累積更新プログラムについて:
SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。
注: このクエリは、SQL Server 2000 以降のバージョンのすべてのインスタンスで動作します。 この修正プログラムは、次のいずれかを行う必要があります。 有効にするには、次の操作を行います。
-
QUERY_OPTIMIZER_HOTFIXES のデータベーススコープ構成がオンに設定されている
-
ENABLE_QUERY_OPTIMIZER_HOTFIXES 使用のヒントを使用する
-
トレースフラグ4199 を有効にする
参照情報
マイクロソフトでソフトウェア更新プログラムの説明に使用する用語集を参照してください。