新しい基数見積もり担当の結合の包含前提 2014 の SQL Server およびそれ以降のクエリのパフォーマンスを低下します。

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:3189675
現象
次のような状況を考えます。

  • 2014 の Microsoft SQL Server またはそれ以降のバージョンを使用しています。
  • 結合と非結合を含むクエリを実行する述語をフィルター処理します。
  • 新しいを使用してクエリをコンパイルします。 基数の試算 (新しい CE)。
このシナリオでは、クエリ パフォーマンスの低下が発生します。

レガシ CE を使用してクエリをコンパイルする場合、この問題は発生しません。
解決方法
2014 の SQL Server およびそれ以降のバージョンでは、強制的に使用する新しい CE にトレース フラグ9476を使用することができます、簡単なコンテインメント デフォルト値の前提データ 包含構造の基本想定しています。」(を参照してください、」詳細"セクション) にします。

このトレース フラグを有効にせずに次の条件に該当する場合、レガシ CE モデルに完全に戻すには、クエリ プランの選択の向上可能性があります。

  • 全体的なパフォーマンスの低下の結合および結合を含むクエリに対して、最適でないクエリ プランの選択が発生する述語をフィルター処理します。
  • (つまり、実績が大幅に異なる行の推定値ではなく)「結合の基数」予測に重要なの不正確さを確認できます。
  • この不正確さは、従来の CE を使用してクエリをコンパイルするときに存在しません。

グローバル レベルでは、セッション、またはクエリのレベルでは、このトレース フラグを有効にすることができます。

トレース フラグを正しく使用すると、ワークロードのパフォーマンスが低下します。詳細については、次のマイクロソフト サポート技術情報資料の「はじめに」セクションを参照してください。

2801413 計画に影響を及ぼす SQL Server クエリ オプティマイザーの動作を特定のクエリのレベルでそれぞれ異なるトレース フラグで制御することができますを有効にします。

詳細
SQL Server 2014 年 120 および大きいデータベースの互換性レベルの新しい基数見積もり担当が登場しました。新しい CE では、さまざまな演算子と述語の基数を推定すると、クエリ オプティマイザーによって使用されるモデルでは、従来の CE からいくつかの前提条件を変更します。

包含構造の前提データを結合するこれらの変更のいずれかが関連しています。

レガシ CE モデルでは、ユーザーが常に存在するデータを照会するものとします。これは、結合の述語で、2 つのテーブルの等結合操作では、結合された列が、結合の両側に存在する、ことを意味します。結合テーブルに対して結合フィルター述語が存在する場合は、レガシ CE には、結合の述語と非結合フィルター述語の相関関係のいくつかのレベルが想定しています。これは、暗黙の相関関係は簡単なコンテインメントと呼ばれます。

または、新しい CE は、相関関係と情報の包含構造を使用します。CE の新しいモデルでは、ユーザーが存在しないデータを問い合わせることも前提としています。これは、別々 のテーブルにフィルター述語が互いと相関関係ない可能性があることを意味します。したがって、確率的なアプローチを使用します。

多くの実用的なシナリオでは、包含構造の基本前提データを使用してより良い見積もりを作成します。さらに、クエリを作成より効率的なプランを選択します。ただし、状況によっては、包含構造が単純な前提データを使用することがあります提供より良い結果。このような場合は、レガシ CE ではなく新しい CE を使用すると効率の悪いクエリ プランの選択があります。

警告: この記事は自動翻訳されています

プロパティ

文書番号:3189675 - 最終更新日: 09/08/2016 20:18:00 - リビジョン: 1.0

Microsoft SQL Server 2016 Enterprise, Microsoft SQL Server 2016 Developer, Microsoft SQL Server 2016 Web, Microsoft SQL Server 2016 Standard, Microsoft SQL Server 2016 Express, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Web, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Express

  • kbmt KB3189675 KbMtja
フィードバック