EXPLANATION function [Miscellaneous]

Returns the plan optimization strategy of a SQL statement.

Syntax
EXPLANATION( 
string-expression  
[ cursor-type ],
[update-status ]  
)
Parameters
  • string-expression   The SQL statement, which is commonly a SELECT statement, but can also be an UPDATE or DELETE statement.

  • cursor-type   A cursor type, expressed as a string. Possible values are asensitive, insensitive, sensitive, or keyset-driven. If cursor-type is not specified, asensitive is used by default.

  • update-status   A string parameter accepting one of the following values indicating how the optimizer should treat the given cursor:

    Value Description
    READ-ONLY The cursor is read-only.
    READ-WRITE (default) The cursor can be read or written to.
    FOR UPDATE The cursor can be read or written to. This is the same as READ-WRITE.

Remarks

The optimization is returned as a string.

This information can help you decide which indexes to add or how to structure your database for better performance.

See also
Standards and compatibility
  • SQL/2003   Vendor extension.

Example

The following statement passes a SELECT statement as a string parameter and returns the plan for executing the query.

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

The following statement returns a string containing the short form of the text plan for an INSENSITIVE cursor over the query 'select * from Departments where ....'.

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