Improving MariaDB’s query optimizer with better selectivity estimates


Selectivity estimation is one of the hard problems that every query optimizer has to solve. Poor selectivity estimation is probably the most common cause of bad query plan choice.

MariaDB’s optimizer is no exception. This talk will describe the current state of affairs:

  • How selectivity estimation is done in MariaDB,
  • What are the known issues (and workarounds),
  • What is being done to improve selectivity estimation: in MariaDB 10.7 and beyond.

Other links

Date and time

  • Tuesday 5 October, 14.40 – 15.30 CEST (UTC +2), 8:40am – 9:30am New York time, 20:40 – 21:30 Beijing/Singapore time


Sergei Petrunia
Query optimizer developer, MariaDB Corporation

Sergei Petrunia is a query optimizer developer at MariaDB. He has contributed to Optimizer Trace implementation in MariaDB, ANALYZE for statements feature, and other optimizer features. When not doing feature development, he is handling query optimization-related support escalations, which he uses as a way learn about how query optimizer behaves in production.
Prior to MariaDB, he has been a query optimizer developer at MySQL.