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 リファレンス » SQL の使用 » SQL 関数 » SQL 関数 (E ~ O)

 

GRAPHICAL_PLAN 関数 [その他]

SQL 文のプランの最適化方法を、XML フォーマットの文字列で返します。

構文
GRAPHICAL_PLAN( 
string-expression 
[, statistics-level 
[, cursor-type 
[,  update-status ] ] ] )
パラメータ
  • string-expression   SQL 文。通常は SELECT 文ですが、UPDATE 文または DELETE 文も指定できます。

  • statistics-level   整数。Statistics-level には、次のいずれかの値を指定します。

説明
0 オプティマイザの推定のみ (デフォルト)
2 ノード統計値を含む詳細な統計情報
3 詳細な統計情報

cursor-type   カーソル・タイプ。文字列として表現されます。使用できる値は、asensitive、insensitive、sensitive、または keyset-driven です。cursor-type が指定されない場合、デフォルトで asensitive が使用されます。

update-status   次のいずれかの値を受け入れる文字列パラメータ。これらの値は、指定されたカーソルをオプティマイザがどのように処理するかを示します。

説明
READ-ONLY このカーソルは読み込み専用。
READ-WRITE (デフォルト) このカーソルは読み込みや書き込みが可能。
FOR UPDATE このカーソルは読み込みや書き込みが可能。READ-WRITE とまったく同じです。
戻り値

LONG VARCHAR

参照
標準と互換性
  • SQL/2003   ベンダ拡張。

次の Interactive SQL の例は、SELECT 文を文字列パラメータとして渡し、クエリを実行するためのプランを返します。プランは plan.saplan ファイルに保存されます。これは、Interactive SQL を使用して読み込むことができます。

SELECT GRAPHICAL_PLAN(  'SELECT * FROM Departments WHERE DepartmentID > 100' );
OUTPUT TO 'plan.saplan' FORMAT TEXT QUOTE '' HEXADECIMAL ASIS;

次の文は、SELECT * FROM Departments WHERE DepartmentID > 100 クエリに対するキーセット駆動型の更新可能なカーソルのグラフィカルなプランを含む文字列を返します。また、オプティマイザが使用した推定統計情報に加え、実際の実行の統計情報の注釈がサーバによってプランに付けられます。

SELECT GRAPHICAL_PLAN(
   'SELECT * FROM Departments WHERE DepartmentID > 100',
   2,
   'keyset-driven', 'for update' );