# explain

fun Transaction.explain(analyze: Boolean = false, options: String? = null, body: Transaction.() -> Any?): ExplainQuery

Creates an ExplainQuery using the `EXPLAIN` keyword, which obtains information about a statement execution plan.

Note: This operation is not supported by all vendors, please check the documentation.

#### Parameters

analyze

(optional) Whether the statement whose execution plan is being queried should actually be executed as well. Note: The `ANALYZE` parameter is not supported by all vendors, please check the documentation.

options

(optional) String of comma-separated parameters to append after the `EXPLAIN` keyword. Note: Optional parameters are not supported by all vendors, please check the documentation.

body

The statement for which an execution plan should be queried. This can be a `SELECT`, `INSERT`, `REPLACE`, `UPDATE` or `DELETE` statement.

#### Samples

org.jetbrains.exposed.sql.tests.shared.dml.ExplainTests.testExplainWithStatementsNotExecuted