Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » SQL Anywhere サーバー SQL の使用法 » データの問い合わせと修正 » クエリ » 高度:クエリ実行プラン » グラフィカルなプラン

 

グラフィカルなプラン内の選択性情報

次の例では、選択されたノードが Departments テーブルのスキャンを表し、統計情報ウィンドウ枠には探索条件、選択性推定、実際の選択性として [述部] が表示されています。

[詳細] ウィンドウ枠の [ノード統計][サブツリー統計][オプティマイザー統計] の 3 つのセクションに、各ノードに関する統計値が表示されます。

ノード統計は、特定のノードの実行に関連しています。プラン内のノードがリーフノードではなく、他のノードの中間結果を消費する場合、[詳細] ウィンドウ枠の [サブツリー統計] セクションには、対象ノードのサブツリー全体に対する推定と実際の累積統計が表示されます。オプティマイザー統計情報はルートノードだけに存在し、SQL 要求全体を表します。

バイパスクエリには、選択性の情報が表示されない場合があります。バイパスクエリの詳細については、オプティマイザーの仕組みを参照してください。

アクセスプランは、データベース内で使用可能な統計値によって決まります。この統計値は、どのクエリが実行済みかによります。ここでは、各種の統計値やプランを確認できます。

述部を表示している統計情報付きのグラフィカルなプラン。

この述部記述は次のとおりです。

Departments.DepartmentName = 'Sales' : 20% Column; true 1/5 20%

この述部は次のように解釈できます。

  • Departments.DepartmentName = 'Sales' は述部です。

  • 20% は、オプティマイザーによる選択性推定です。つまり、オプティマイザーは 20% のローが述部を満たすという推定に基づいてクエリアクセスを選択しています。

    これは、ESTIMATE 関数で得られる出力と同じです。

  • Column は推定ソースです。これは、ESTIMATE_SOURCE 関数で得られる出力と同じです。

  • true 1/5 20% は、実行時における述部の実際の選択性です。述部は 5 回評価され、その内の 1 回が TRUE だったので、実際の選択性は 20% になります。

    実際の選択性が推定値と大幅に異なる場合、および述部の評価回数が非常に多い場合は、不正確な推定によりクエリのパフォーマンスに重大な問題が発生している可能性があります。述部の統計値を収集することは、オプティマイザーにその選択の基礎となる良質な情報を提供することとなり、パフォーマンスを改善できます。

注意

統計情報付きのグラフィカルなプランではなく、グラフィカルなプランを選択すると、最後の 2 つの統計情報は表示されません。

 参照