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 の使用法 » クエリ処理 » クエリの最適化と実行 » 実行プランの解釈

 

グラフィカルなプランの解釈

Interactive SQL のグラフィカルなプラン機能を使用すると、クエリの実行プランを [プラン・ビューワ] ウィンドウに表示できます。実行プランは、関係代数演算子のツリーで構成されます。ツリーのルートで最終的な結果が得られるように、ツリーの最下位から開始して、クエリへの基本入力 (通常はテーブルのロー) を消費し、下から上にローを処理します。このツリーのノードは特定の代数演算子に対応しています。ただし、サーバで実行されるすべてのクエリ検査がノードで表示されるとは限りません。たとえば、サブクエリと関数のキャッシュの影響は、グラフィカルなプランには直接表示されません。

グラフィカルなプランでは、次のようにノードをさまざまな形で表示して、実行される操作の種類を示します。

  • データを実体化する操作は六角形。

  • インデックス・スキャンは台形。

  • テーブル・スキャンは長方形。

  • その他の操作は角丸四角形。

グラフィカルなプランを使用して、特定のクエリのパフォーマンス上の問題を診断できます。たとえば、プラン内の情報に基づいて、この特定のクエリのパフォーマンスを向上させるためにテーブルにインデックスが必要かを判断できます。[プラン・ビューワ][保存] ボタンを押すと、クエリのグラフィカルなプランを保存して後で参照できます。SQL Anywhere のグラフィカルなプランは、拡張子 .saplan で保存されます。

パフォーマンスに問題がある可能性がある場合は、グラフィカルなプラン内で太い線と赤い枠線で示されます。次に例を示します。

  • 処理対象のロー数が増加するに従って、プラン内のノード間の線が太くなります。テーブル・スキャンに太い線が表示されている場合は、インデックスの作成が必要である可能性を示していることがあります。

  • ノードの枠線が赤い場合は、実行プラン内の他の演算子に比べて、その演算子のコストが高かったことを示しています。

プランのノードの形とその他のグラフィカルなコンポーネントは、Interactive SQL 内でカスタマイズできます。グラフィカルなプランの表示のカスタマイズを参照してください。

グラフィカルなプラン、概要付きのグラフィカルなプラン、または統計情報付きのグラフィカルなプランのいずれかを表示できます。3 つのプランはすべて、プランの中で最も高コストとして推定された部分を表示できます。統計情報付きのグラフィカルなプランの生成は、クエリの実行時にデータベース・サーバがモニタしている実際のクエリ実行統計が表示されるため高コストです。統計情報付きのグラフィカルなプランでは、クエリ・オプティマイザがアクセス・プランの作成時に使用する推定を、実行中にモニタされた実際の統計と直接比較できます。ただし、オプティマイザはクエリのコストを正確に推定できないことが多いので、推定値と実際の統計値には違いがあると想定してください。

グラフィカルなプランを表示する方法については、グラフィカルなプランの表示を参照してください。グラフィカルなプランは、Sybase Central のアプリケーション・プロファイリング・モードからも利用できます。Sybase Central のアプリケーション・プロファイリング機能の詳細については、アプリケーション・プロファイリングを参照してください。

テキスト・プランの詳細については、テキスト・プランの解釈を参照してください。


統計情報付きのグラフィカルなプラン
統計情報付きのグラフィカルなプランによるパフォーマンス分析
グラフィカルなプランのノードの詳細情報の表示
グラフィカル・プラン内の選択性の表示
グラフィカルなプランの表示のカスタマイズ
グラフィカルなプランの表示
[ノード統計] フィールドの説明
[オプティマイザ統計] フィールドの説明