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 Integrator.
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 email@example.com
For media-related inquiries, contact Maureen Jennings at firstname.lastname@example.org
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.