Returns the plan optimization strategy of a SQL statement.
EXPLANATION(
string-expression
[ cursor-type ],
[update-status ]
)
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. |
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.
In Interactive SQL, you can view the plan for any SQL statement on the Plan tab in the Results pane.
SQL/2003 Vendor extension.
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 textual plan for an INSENSITIVE cursor over the query 'select * from Departments where ....'.
SELECT EXPLANATION( 'SELECT * FROM Departments WHERE DepartmentID > 100', 'insensitive', 'read-only' );