Explaining the MySQL EXPLAIN

Database Administration

Determining the Query Execution Plan (QEP) of an SQL statement is the primary analysis tool for DBAs. Understanding how to interpret the information from the EXPLAIN command and what additional commands and tools exist to add supplementary information are essential skills that will be used daily in production operations.

The MySQL EXPLAIN QEP is significantly different from an Oracle QEP and Oracle DBAs need to understand and learn the most appropriate way to understand and navigate this information to effective performance tune a running MySQL environment.

In this presentation we will cover the following:

Additional commands including SHOW CREATE TABLE, SHOW INDEXES and ANALYZE TABLE
MySQL Primary Key, Unique Index, different Index Types and Index Cardinality specifics
Understand how different Storage Engines affect the QEP
The impact of multi-column indexes, partial indexes and covering indexes
New MySQL 5.6 features including the Optimizer Trace


Ronald Bradford
MySQL Database Consultant, Pythian
Ronald has over 25 years of professional RDBMS experience in MySQL, Oracle, and Ingres. His expertise covers MySQL, LAMP and cloud-based consulting in architecture, performance, scalability and business continuity. Ronald is a former employee of the MySQL Inc consulting team (06-08) and Oracle Corporation (96-99). He has currently published 4 books on MySQL, his most recent titles available from Oracle Press include Effective MySQL: Optimizing SQL Statements, Effective MySQL: Backup & Recovery and Effective MySQL: Replication Techniques in Depth.