Online / 5 & 6 February 2022


MariaDB Optimizer - ongoing development and changes

The MariaDB optimizer has its roots in the original MySQL optimizer. Being a long standing project, it has inherited a number of quirks and features that -at the time of coding- made sense. The datasets had different sizes 10-20 years ago and the cost model is not always accurate for current workloads.

Thus, there is now an ongoing effort to significantly improve the calculations that the MariaDB Optimizer is doing. With the addition of JSON Histograms, the range optimizer is one of the most impacted modules. The end goal of this effort is to provide the user with a better query optimizer, but also put the user in control and allow the user to tweak many more parameters than were previously available. In this talk I will go through the major changes that are upcoming in MariaDB, changes that could impact query performance (for the better) and also raise awareness about which parameters have the highest impact on query optimizer performance.


Michael "Monty" Widenius