One could say that MariaDB now is 2 years old as a packaged product. The latest version, MariaDB 5.3 Beta, is the culmination of many years of hard work. We believe it contains the largest and most significant change to the code of MySQL since the launch of MySQL 5.0. I’m talking about the changes made to the central product component called the Optimizer.
Why did we touch something so central to the product? The fast answer is that the original Optimizer is about 17 years old. Prior to the work we did for MariaDB 5.3, the Optimizer hadn’t had any huge evolutionary improvements or changes in a decade (except for some features that were added in 2003-2005). It was missing basic functionality that one can expect in any 2010s relational database. Things like hash joins or efficient handling of subqueries.
We’ve also wanted to gradually make MariaDB better at handling bigger tables and bigger queries. This requires query plans to …
[Read more]