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)

 

EXPLANATION 関数 [その他]

SQL 文のプランの最適化方法を返します。

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

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

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

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

戻り値

LONG VARCHAR

備考

最適化結果は文字列として返されます。

この情報は、追加するインデックスの決定や、パフォーマンスを向上するためのデータベース構造の決定に役立ちます。

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

次の文は、SELECT 文を文字列パラメータとして渡し、クエリを実行するためのプランを返します。

SELECT EXPLANATION( 'SELECT * FROM Departments WHERE DepartmentID > 100' );

次の文は、'select * from Department where ....' クエリに対する INSENSITIVE カーソルの短いプランをテキスト形式で表した文字列を返します。

SELECT EXPLANATION( 'SELECT * FROM Departments WHERE DepartmentID > 100',
   'insensitive', 'read-only' );