The query engine of any DBMS consists of two main components – an
optimizer that translates queries into query execution plans (QEPs) and
an executor that runs the plan to compute the query result. This talk
gives an in-depth complete overview of the query executor of MariaDB
and MySQL. We describe both the single-table access methods that fetch
data from tables, and the available join methods that combine data from
different tables. For each execution primitive we discuss its internal
representation, its cost model, its interaction with the storage engine
layer, and its representation in EXPLAIN. Finally we explain how all
the execution primitives work together in the MariaDB/MySQL mixed
pull-push execution model.
Timour is a MySQL optimizer developer since 2004. The main projects he
implemented in the MySQL server are: the greedy optimizer (5.0),
min/max optimization and loose index scan (5.0), subquery
materialization (6.0), and re-engineering of name resolution for
nested joins (5.0).
Before joining MySQL, he received his Ph.D. in database technology from
Uppsala University, Sweden, in the area of query processing for P2P
databases. During his studies he worked as a summer intern at IBM where
he contributed code to the query optimizer of DB2 Information
Currently he is a MariaDB server developer at Monty Program AB, working
on new optimizer features to deliver improved performance and robustness.
For information on exhibition and sponsorship opportunities at the conference, contact Yvonne Romaine at firstname.lastname@example.org
For media-related inquiries, contact Maureen Jennings at email@example.com
To stay abreast of conference news and to receive email notification when registration opens, please sign up for the O'Reilly MySQL Conference newsletter (login required).
View a complete list of O'Reilly MySQL Conference contacts.