My Project
|
Classes | |
class | Join_plan |
class | Equal_set_iterator |
class | Table_access |
Enumerations | |
enum | enum_access_type { AT_VOID, AT_FIXED, AT_PRIMARY_KEY, AT_UNIQUE_KEY, AT_ORDERED_INDEX_SCAN, AT_MULTI_PRIMARY_KEY, AT_MULTI_UNIQUE_KEY, AT_MULTI_MIXED, AT_TABLE_SCAN, AT_UNDECIDED, AT_OTHER } |
enum | enum_join_type { JT_OUTER_JOIN, JT_INNER_JOIN, JT_SEMI_JOIN } |
Abstract query plan (AQP) is an interface for examining certain aspects of query plans without accessing mysqld internal classes (JOIN_TAB, SQL_SELECT etc.) directly.
AQP maps join execution plans, as represented by mysqld internals, to a set of facade classes. Non-join operations such as sorting and aggregation is currently *not* modelled in the AQP.
The AQP models an n-way join as a sequence of the n table access operations that the MySQL server would execute as part of its nested loop join execution. (Each such table access operation is a scan of a table or index, or an index lookup.) For each lookup operation, it is possible to examine the expression that represents each field in the key.
A storage enging will typically use the AQP for finding sections of a join execution plan that may be executed in the engine rather than in mysqld. By using the AQP rather than the mysqld internals directly, the coupling between the engine and mysqld is reduced.
The type of a table access operation.
enum AQP::enum_join_type |
The type of join operation require