sa_diagnostic_query テーブルは dbo ユーザが所有しています。また、特に最適化したコンテキストなど、クエリの最適化情報を格納しています。このテーブルのローは、クエリのオプティマイザの呼び出しを表します。最適化時にキャプチャされたプランはここに格納されます。
このテーブルの値の一部は、データベース・オプション値を反映します。
このテーブルには sa_diagnostic_query と sa_tmp_diagnostic_query という 2 つのバージョンがあります。
カラム名 | カラム型 | カラム制約 | テーブル制約 |
---|---|---|---|
logging_session_id | UNSIGNED INT | NOT NULL | プライマリ・キー。外部キーは sa_diagnostic_statement を参照します。 |
query_id | UNSIGNED BIGINT | NOT NULL | プライマリ・キー。外部キーは sa_diagnostic_statement を参照します。 |
statement_id | UNSIGNED BIGINT | NOT NULL | |
user_object_id | UNSIGNED BIGINT | NOT NULL | |
start_time | TIMESTAMP | NOT NULL | |
cache_size_bytes | UNSIGNED BIGINT | ||
optimization_goal | TINYINT | ||
optimization_level | TINYINT | ||
user_estimates | TINYINT | ||
optimization_workload | TINYINT | ||
available_requests | TINYINT | ||
active_requests | TINYINT | ||
max_tasks | TINYINT | ||
used_bypass | TINYINT | ||
estimated_cost_ms | TINYINT | ||
plan_explain | LONG VARCHAR | ||
plan_xml | LONG VARCHAR | ||
sql_rewritten | LONG VARCHAR |
logging_session_id クエリまたは要求が発生したときのロギング・セッションの ID。
query_id クエリをユニークに識別する番号。
statement_id クエリで文をユニークに識別する番号。
user_object_id このクエリが実行されたときのユーザのオブジェクト ID。クエリをプロシージャから実行した場合、これはプロシージャ所有者のユーザ ID になります。
start_time クエリを最適化した時刻。
cache_size_bytes クエリを最適化した時点のキャッシュ・サイズ (バイト単位)。
optimization_goal クエリ処理の最適化の対象を、最初のローを迅速に返すこと、または完全な結果セットを返すコストを最小限に抑えることのどちらかに指定します。この値は、optimization_goal データベース・オプションの値を反映しています。
このカラムに使用できる値については、optimization_goal オプション [データベース]を参照してください。
optimization_level SQL Anywhere クエリ・オプティマイザが SQL 文のアクセス・プランの検索に費やす作業量を制御します。この値は、optimization_level データベース・オプションの値を反映しています。
このカラムに使用できる値については、optimization_level オプション [データベース]を参照してください。
user_estimates クエリの述部に含まれるユーザ選択性推定をクエリ・オプティマイザが尊重するか無視するかを制御します。この値は、user_estimates データベース・オプションの値を反映しています。
このカラムに使用できる値については、user_estimates オプション [データベース]を参照してください。
optimization_workload クエリ処理において、更新と読み込みを組み合わせた負荷に対して最適化するか、または大部分が読み込みベースの負荷に対して最適化するかを決定します。この値は、optimization_workload データベース・オプションの値を反映しています。
このカラムに使用できる値については、optimization_workload オプション [データベース]を参照してください。
available_requests クエリ内並列処理のレベルを内部的に計算するときに使用します。
active_requests クエリ内並列処理のレベルを内部的に計算するときに使用します。
max_tasks クエリ内並列処理のレベルを内部的に計算するときに使用します。
used_bypass 単純なクエリの回避を使用したかどうか。1 の値は、回避を使用したことを示します。0 の値は、クエリを完全に最適化したことを示します。
estimated_cost_ms 推定コスト (ミリ秒)。
plan_explain このクエリのテキスト・プラン表記。
plan_xml クエリのグラフィカル・プラン表記 (記録された場合)。
sql_rewritten 最適化を適用した後のクエリのテキスト。最適化のロギングが有効な場合、値はこのカラムにのみ表示されます。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |