Timour Katchaounov
Track: Architecture and Technology
Date: Thursday, April 21
Time: 11:20am - 12:05pm
Location: Magnolia
TrackBack
One of the main benefits of database technology is the declarative SQL
interface to access data--one tells the system what is needed and the
DBMS automatically discovers a way to efficiently retrieve the
requested data. As with every other modern DBMS, MySQL has a component,
called the "query optimizer," that performs this complex discovery
task.
In this talk, Katchaounov first provides some background on the main principles
behind DBMS's query optimizers. He considers the general ideas
behind the optimizer of MySQL and outlines several distinct phases of
the query optimization process. He then takes a closer look at the
implementation of the optimizer--the main data structures that
represent queries and query execution plans, and the main procedures
that transform them.
Next he focuses on several of the most important steps of the query
optimization process: the range optimizer, responsible for finding and
using the right indexes for queries with range predicates, and the
cost-based optimizer that finds the best way to join multiple
tables. Here he details some of the new optimizer features of MySQL
v. 5.0--the "greedy" optimizer that may reduce query optimization
time by orders of magnitude, and new optimization of index use for
OR-queries, some group-by, and distinct queries.
Finally, he relates the design of new handlers to the workings of the
optimizer, and concludes with the near-future plans for new optimizer
features coming in the next versions of MySQL.
Download presentation file