EXPLAIN Demystified

Baron Schwartz (Percona Inc.)
Presentation: EXPLAIN Demystified Presentation [PDF]

EXPLAIN was created by and for the MySQL developers, and then offered to the rest of the world with little information on how to interpret it. Simple queries are easy to understand, but queries with filesorts, subqueries, and UNIONs become dizzyingly complicated to unravel. There are a lot of undocumented rules about how EXPLAIN shows its output, too.

I learned EXPLAIN by studying source code, documentation, and learning from the query optimizer team. I verified everything I learned with complex test cases. Along the way I discovered how to reverse-engineer EXPLAIN into a query execution plan. Finally, I wrote a program to do this, the first of its kind.

In this session I’ll teach EXPLAIN from the ground up:

  • How MySQL transforms a query into an execution plan
  • How MySQL really executes queries (few people know this!)
  • How the execution plan maps onto EXPLAIN
  • How to work backwards from EXPLAIN to a query execution plan
  • Undocumented rules about subqueries, filesorts, and more
  • What the ID, select_type, and type columns really mean

I will (briefly!) demonstrate the visual explain tool I wrote, but I’ll focus on understanding EXPLAIN without tools. This session will give you a deeper understanding of what your queries are really doing.

Photo of Baron Schwartz

Baron Schwartz

Percona Inc.

Baron is the lead author of High Performance MySQL 2nd edition, and creator of Maatkit. He blogs at Xaprb. Baron is the Director of Consulting at Percona, a firm that helps customers build high-performance applications with open-source software stacks such as LAMP.

Sponsors
  • Kickfire
  • Zmanda, Inc.
  • Continuent
  • EDS
  • JasperSoft
  • Sun Microsystems
  • Symantec Anti-Virus Software
  • XAware
  • Data Direct Technologies
  • Dolphin Interconnect Solutions
  • Hewlett Packard
  • Infobright, Inc
  • Linagora
  • Microsoft
  • OpSource
  • Oracle
  • Pentaho
  • R1Soft
  • Red Hat
  • Ticketmaster
  • TechRepublic

Sponsorship Opportunities

For information on exhibition and sponsorship opportunities at the conference, contact Sharon Cordesse at scordesse@oreilly.com.

Download the MySQL Sponsor/Exhibitor Prospectus

Media Partner Opportunities

Download the Media & Promotional Partner Brochure (PDF) for more information on trade opportunities with O'Reilly conferences, or contact mediapartners@oreilly.com.

Press and Media

For media-related inquiries, contact confpr@oreilly.com.

MySQL Conference Newsletter

To stay abreast of conference news and to receive email notification when registration opens, please sign up for the MySQL Conference newsletter.

Contact Us

View a complete list of MySQL contacts.