For an SQL statement with certain search conditions, you can use the EXPLAIN statement to find out which search strategy the SQL Optimizer selects for this SQL statement and what costs this search strategy incurs.
EXPLAIN <query_statement>
The result of an EXPLAIN statement is a table.
● The STRATEGY column shows you which search strategy the SQL Optimizer selected for this SQL statement and whether a result table was created or not.
● The PAGECOUNT column shows you the result of the cost determination for the chosen search strategy.
The examples used to explain the SQL Optimizer are based on the demo database DEMODB and its complete demo data in the schema HOTEL.
Concepts of the Database System, Objects in the Schema HOTEL
EXPLAIN
SELECT * FROM hotel.city
WHERE zip > '99000'
Result of the EXPLAIN Statement
OWNER |
TABLENAME |
COLUMN_OR_INDEX |
STRATEGY |
PAGECOUNT |
HOTEL |
CITY |
|
RANGE CONDITION FOR KEY |
11 |
|
|
ZIP |
(USED KEY COLUMN) |
|
|
|
|
RESULT IS NOT COPIED, |
|
This means that the table CITY has 11 pages and the I/O costs for executing this SQL statement amount to 1 page.
Some special features of the EXPLAIN statement are explained in the following sections:
EXPLAIN Statement for Joins
EXPLAIN Statement for Complex SELECT Statements
EXPLAIN Statement for SELECT Statements with Subqueries
You will find additional simple example SQL statements in the SQL Tutorial.
See also:
Postponement of the Search to the FETCH Time
SQL Reference Manual, EXPLAIN Statement (explain_statement)