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

 

[ノード統計] フィールドの説明

次に、グラフィカルなプランの [ノード統計] セクションに表示されるフィールドについて説明します。

フィールド 説明

CacheHits

この演算子によるキャッシュ読み込み要求で、バッファ・プールで条件が満たされ、ディスク読み込み操作が不要になった要求の合計数。

CacheRead

この演算子がデータベース・ファイルのページ (通常、テーブル・ページやインデックス・ページなど) を読み込もうとした合計回数。 

CPUTime

このノードが表す処理アルゴリズムによって発生した CPU 時間。

DiskRead

このノードの処理の結果として、ディスクから読み込まれた累積ページ数。

DiskReadTime

このノードの処理に必要なデータベース・ページをディスクから読み込むために要した累積時間。

DiskWrite

このノードの処理の結果として、ディスクに書き込まれた累積ページ数。

DiskWriteTime

このノードのアルゴリズムの処理に必要なデータベース・ページをディスクに書き込むために要した累積時間。

FirstRowRunTime

FirstRowRunTime 値は、このノードの中間結果の最初のローを作成するために要した時間です。

Invocations

ノードが結果を計算するために呼び出された回数。親ノードに結果を返します。ほとんどのノードは 1 回だけ呼び出されます。ただし、スキャン・ノードの親がネスト・ループ・ジョインで、ノードが複数回実行される可能性がある場合、各呼び出し後に異なるロー・セットを返すことがあります。

PercentTotalCost

特定のノード内で結果の計算に費やす RunTime。文の合計 RunTime に対する割合で表します。

QueryMemMaxUseful

この特定の演算子での使用が予想されるクエリ・メモリの推定容量。Actual 統計値で報告されるクエリ・メモリの実際の使用量と大幅に異なる場合、クエリ・オプティマイザによる結果セットのサイズの推定に潜在的な問題がある可能性があります。この推定のエラーの原因は、述部選択性推定が不正確であるか存在しないことが考えられます。

RowsReturned

要求の処理の結果として親ノードに返されたローの数。RowsReturned は、このノードで表されるオブジェクト (派生オブジェクトの場合がある) 内のローの数と同一であることがよくありますが、必ず同じとは限りません。ベース・テーブル・スキャンを表すリーフ・ノードを考慮してください。RowsReturned 値がテーブル内のローの数よりも小さい、または大きい場合があります。最終結果の計算で、親ノードがテーブルのすべてのローを要求できない場合、RowsReturned 値は小さくなります。GROUP BY GROUPING SETS クエリなど、親のハッシュ GROUP BY GROUPING SETS ノードが異なるグループを計算するために入力の受け渡しを複数回要求する場合、RowsReturned は大きくなります。

返された推定ローと返された実際の数とが大幅に食い違っている場合、オプティマイザが不正確な選択性情報に基づいて操作していることを示している可能性があります。

RunTime

実際の時間の計測値。入出力の待機、ローのロック、テーブルのロック、 内部サーバの同時制御メカニズム、実際の処理実行時間が含まれます。RunTime の解釈は、表示される統計セクションによって異なります。[ノード統計] の場合、RunTime はこのノードだけを実行している間に、ノードの対応する演算子が費やした累積時間です。[ノード統計] セクションには、この統計の推定値と実際値の両方が表示されます。

テーブル・スキャンまたはインデックス・スキャンで、ノードの RunTime が予想よりも大きい場合、さらに分析を進めると問題の特定に役立つ場合があります。クエリで共有リソースに対する競合が発生し、その結果ブロックした可能性があります。sa_locks() システム・プロシージャを使用して、ブロックされた接続をモニタできます。別の例として、ディスクのデータベース・ぺージ・レイアウトが最適化されていない場合や、テーブルが内部ページの断片化による影響を受けている場合があります。REORGANIZE TABLE 文を実行するとパフォーマンスを向上できることがあります。sa_table_fragmentation() システム・プロシージャと sa_index_density() システム・プロシージャを使用して、テーブルまたはインデックスが断片化されているかどうかを判断できます。