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

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » クエリ処理 » クエリの最適化と実行 » 実行プランの解釈 » グラフィカルなプランの解釈

 

グラフィカル・プラン内の選択性の表示

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

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

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

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

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

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

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

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

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

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

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

    これは、ESTIMATE 関数で得られる出力と同じです。詳細については、ESTIMATE 関数 [その他]を参照してください。

  • Column は推定ソースです。これは、ESTIMATE_SOURCE 関数で得られる出力と同じです。選択性推定に考えられるソースの完全なリストについては、ESTIMATE_SOURCE 関数 [その他]を参照してください。

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

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

注意

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