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

 

[オプティマイザ統計] フィールドの説明

次に、グラフィカルなプランの [オプティマイザ統計] セクションに表示されるフィールドについて説明します。[オプティマイザ統計] には、データベース・サーバの状態および選択された文の最適化に関する情報が表示されます。

フィールド 説明

最適化方法

実行方式の選択に使用されたアルゴリズム。戻り値は次のとおりです。

  • バイパス (クエリ書き換え)
  • バイパス (簡易クエリ書き換え)
  • バイパス (ヒューリスティック)
  • バイパス後、最適化
  • 最適化
  • 再利用
  • 再利用 (単純)

見積り済み最良プラン

クエリ・オプティマイザが異なるクエリ実行方式を列挙するとき、現在の方式の前に検出された最良な方式よりも推定コストが安い方式が検出された回数を追跡します。特定のクエリに対してこの発生回数を予測することは困難ですが、この数値が小さい場合、オプティマイザのアルゴリズムによって検索領域が大幅に削減され、通常は、最適化時間が短縮されることを示します。オプティマイザは特定の文のクエリ・ブロックごとに 1 回以上の列挙プロセスを起動するため、 [見積り済み最良プラン] は累積回数を表します。オプティマイザの仕組みを参照してください。

[見積り済み最良プラン][見積り済みプラン][最適化時間] の値が 0 の場合、SQL Anywhere オプティマイザによって文は最適化されていません。データベース・サーバはこの文をバイパスし、文の最適化を行わずに実行プランを生成したか、または文のプランはキャッシュされました。クエリ処理のフェーズを参照してください。

見積り済みプラン

コストを部分的または完全に推定したこの要求に対して、オプティマイザが検討した異なるアクセス・プランの数。[見積り済み最良プラン] と同様、この値が小さい場合は通常、最適化時間の短縮を示し、この値が大きい場合は SQL クエリがより複雑であることを示します。

[見積り済み最良プラン][見積り済みプラン][最適化時間] の値が 0 の場合、文は最適化されていません。データベース・サーバは文をバイパスし、文の最適化を行わず実行プランを生成しています。クエリ処理のフェーズを参照してください。

最適化時間

文の最適化に要した時間。

[見積り済み最良プラン][見積り済みプラン][最適化時間] の値が 0 の場合、文は最適化されていません。データベース・サーバは文をバイパスし、文の最適化を行わず実行プランを生成しています。クエリ処理のフェーズを参照してください。

予測キャッシュ・ページ数

文の処理に使用できる現在の推定キャッシュ・サイズ。

非効率なアクセス・プランを削減するため、オプティマイザは現在のキャッシュ・サイズの半分は選択された文の処理に使用できると想定します。

CurrentCacheSize

最適化時のデータベース・サーバのキャッシュ・サイズ (キロバイト単位)。

QueryMemMaxUseful

この要求に使用できるクエリ・メモリのページ数。この数値が 0 の場合、文の実行プランにはメモリを大量に消費する演算子がなく、サーバのメモリ・ガバナーの制御対象ではありません。メモリ・ガバナーを参照してください。

QueryMemNeedsGrant

この要求の実行方式に存在し、メモリを大量に消費する 1 つ以上のクエリ実行演算子に対して、メモリ・ガバナーがメモリを付与する必要があるかどうかを示します。メモリ・ガバナーを参照してください。

QueryMemLikelyGrant

この文がすぐに実行される場合、この文に付与されるクエリ・メモリ・プールの推定ページ数。この推定値は、プラン内のメモリを大量に消費する演算子の数、データベース・サーバのマルチプログラミング・レベル、メモリを大量に消費する同時実行の要求数によって異なります。メモリ・ガバナーを参照してください。

QueryMemPages

すべての接続に対して、メモリを大量に消費するクエリ実行アルゴリズムで使用できるクエリ・メモリ・プール内のメモリの合計容量を表すページ数。メモリ・ガバナーを参照してください。

QueryMemActiveMax

特定の時点でクエリ・メモリをアクティブに使用できるタスクの最大数。メモリ・ガバナーを参照してください。

QueryMemActiveEst

安定した状態のデータベース・サーバで、クエリ・メモリをアクティブに使用するタスクの推定平均数。メモリ・ガバナーを参照してください。

isolation_level

文の独立性レベル。文の独立性レベルは、同じトランザクション内の他の文と異なる場合があります。また、特定のベース・テーブルに対して FROM 句のヒントを使用して優先される可能性があります。isolation_level オプション [データベース] [互換性]を参照してください。

optimization_goal

クエリ処理の最適化の対象を、最初のローを迅速に返すこと、または完全な結果セットを返すコストを最小限に抑えることのどちらかに指定します。optimization_goal オプション [データベース]を参照してください。

optimization_level

クエリ・オプティマイザがアクセス・プランの検索に費やす作業量を制御します。optimization_level オプション [データベース]を参照してください。

optimization_workload

optimization_workload 設定値 (Mixed または OLAP)。optimization_workload オプション [データベース]を参照してください。

max_query_tasks

単一のクエリの並列実行プランで使用される可能性があるタスクの最大数。max_query_tasks オプション [データベース]を参照してください。

user_estimates

クエリ・テキストの各述部で指定されたユーザ推定を尊重するか無視するかを制御します。user_estimates オプション [データベース]を参照してください。