メイン コンテンツへスキップ
サポート
Microsoft アカウントでサインイン
サインインまたはアカウントを作成してください。
こんにちは、
別のアカウントを選択してください。
複数のアカウントがあります
サインインに使用するアカウントを選択してください。

概要

Microsoft SQL Server 2016 のクエリ実行プランによっては、テーブルまたはインデックス スキャンまたは範囲操作でフィルターを評価するパターンが含まれているものがあります。たとえば、フィルター述語の一部がインデックス キーと一致している場合、インデックス シークや範囲スキャンの実行に使用されることがあります。述語の残余部分は、残余と呼ばれ、スキャンまたは範囲操作によって各行の出力ごとに評価する必要があります。これはフィルター演算子に対応します。なお、SQL Server では、パフォーマンスを向上するために、これらのフィルターをテーブル アクセスの演算子自体にプッシュダウンすることもできます。

このアプローチにより全体のパフォーマンスは向上しますが、状況によっては (パラメーター感度に関連する基数推定が不正確な場合など)、scan-below フィルターが想定より多くの行数を処理する場合もあります。このような動作は、実際の実行プランを使ってクエリのパフォーマンスのトラブルシューティングを行うときに、表面に出ない可能性があります。というのも、返される行数は残余述語が適用された後の行数であり、テーブルやインデックスからスキャンされた実際の行数ではないからです。

更新プログラムの情報

「現象」で説明したシナリオの診断を改善するために、SQL Server 2016 Service Pack 1 (SP1) では、新しいプラン表示 XML 属性である Estimated Rows Read が導入されます。この属性では、演算子が残余述語の適用前に行の推定カウントを読み込みます。この更新プログラムは KB 3107397 を補完しています。

この機能は、SQL Server 2016 の Service Pack 1 に含まれています。

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


関連情報

マイクロソフトでソフトウェア更新プログラムの説明に使用する用語集を参照してください。

ヘルプを表示

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

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

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。

この情報は役に立ちましたか?

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?
[送信] を押すと、Microsoft の製品とサービスの改善にフィードバックが使用されます。 IT 管理者はこのデータを収集できます。 プライバシーに関する声明。

フィードバックをいただき、ありがとうございます。

×