# Optimizer Feature Comparison Matrix

The below is a table view. For a more graphical view of the differences see [What is the difference between MySQL and MariaDB query optimizers](https://mariadb.com/docs/release-notes/community-server/about/compatibility-and-differences/differences-between-the-mysql-and-mariadb-query-optimizer).

| Feature                                                                                                                                                                                                                   | [MariaDB 5.3](https://mariadb.com/docs/release-notes/community-server/old-releases/5.3/changes-improvements-in-mariadb-5-3)/5.5 | [MariaDB 10.0](https://mariadb.com/docs/release-notes/community-server/old-releases/10.0/changes-improvements-in-mariadb-10-0) | MySQL 5.5 | MySQL 5.6 |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | --------- | --------- |
| Disk access optimizations                                                                                                                                                                                                 |                                                                                                                                 |                                                                                                                                |           |           |
| [Index Condition Pushdown](https://app.gitbook.com/s/SsmexDFPv2xG2OTyO5yV/ha-and-performance/optimization-and-tuning/query-optimizations/index-condition-pushdown) (ICP)                                                  | YES                                                                                                                             | YES                                                                                                                            | -         | YES       |
| [Disk-sweep Multi-range read](https://app.gitbook.com/s/SsmexDFPv2xG2OTyO5yV/ha-and-performance/optimization-and-tuning/mariadb-internal-optimizations/multi-range-read-optimization) (DS-MRR)                            | YES                                                                                                                             | YES                                                                                                                            | -         | YES       |
| [DS-MRR with Key-ordered retrieval](https://app.gitbook.com/s/SsmexDFPv2xG2OTyO5yV/ha-and-performance/optimization-and-tuning/mariadb-internal-optimizations/multi-range-read-optimization)                               | YES                                                                                                                             | YES                                                                                                                            | -         | -         |
| [Index\_merge / Sort\_intersection](https://app.gitbook.com/s/SsmexDFPv2xG2OTyO5yV/ha-and-performance/optimization-and-tuning/query-optimizations/index_merge-sort_intersection)                                          | YES                                                                                                                             | YES                                                                                                                            | -         | -         |
| Cost-based choice of range vs. index\_merge                                                                                                                                                                               | YES                                                                                                                             | YES                                                                                                                            | -         | -         |
| ORDER BY ... LIMIT \<small\_limit>                                                                                                                                                                                        | -                                                                                                                               | YES                                                                                                                            | -         | YES       |
| Use extended (hidden) primary keys for innodb/xtradb                                                                                                                                                                      | YES (5.5)                                                                                                                       | YES                                                                                                                            | -         | -         |
| Join optimizations                                                                                                                                                                                                        |                                                                                                                                 |                                                                                                                                |           |           |
| [Batched key access](https://github.com/mariadb-corporation/docs-server/blob/test/release-notes/compatibility-and-differences/broken-reference/README.md) (BKA)                                                           | YES                                                                                                                             | YES                                                                                                                            | -         | YES       |
| [Block hash join](https://github.com/mariadb-corporation/docs-server/blob/test/release-notes/compatibility-and-differences/broken-reference/README.md)                                                                    | YES                                                                                                                             | YES                                                                                                                            | -         | -         |
| User-set memory limits on all join buffers                                                                                                                                                                                | YES                                                                                                                             | YES                                                                                                                            | -         | -         |
| Apply early outer table ON conditions                                                                                                                                                                                     | YES                                                                                                                             | YES                                                                                                                            | -         | -         |
| Null-rejecting conditions tested early for NULLs                                                                                                                                                                          | YES                                                                                                                             | YES                                                                                                                            | -         | -         |
| Subquery optimizations                                                                                                                                                                                                    |                                                                                                                                 |                                                                                                                                |           |           |
| [In-to-exists](https://app.gitbook.com/s/SsmexDFPv2xG2OTyO5yV/ha-and-performance/optimization-and-tuning/query-optimizations/subquery-optimizations/non-semi-join-subquery-optimizations#the-in-to-exists-transformation) | YES                                                                                                                             | YES                                                                                                                            | YES       | YES       |
| [Semi-join](https://app.gitbook.com/s/SsmexDFPv2xG2OTyO5yV/ha-and-performance/optimization-and-tuning/query-optimizations/subquery-optimizations/semi-join-subquery-optimizations)                                        | YES                                                                                                                             | YES                                                                                                                            | -         | YES       |
| [Materialization](https://app.gitbook.com/s/SsmexDFPv2xG2OTyO5yV/ha-and-performance/optimization-and-tuning/query-optimizations/optimization-strategies/semi-join-materialization-strategy)                               | YES                                                                                                                             | YES                                                                                                                            | -         | YES       |
| NULL-aware Materialization                                                                                                                                                                                                | YES                                                                                                                             | YES                                                                                                                            | -         | -         |
| Cost choice of materialization vs. in-to-exists                                                                                                                                                                           | YES                                                                                                                             | YES                                                                                                                            | -         | YES       |
| [Subquery cache](https://app.gitbook.com/s/SsmexDFPv2xG2OTyO5yV/ha-and-performance/optimization-and-tuning/query-optimizations/subquery-optimizations/subquery-cache)                                                     | YES                                                                                                                             | YES                                                                                                                            | -         | -         |
| Fast explain with subqueries                                                                                                                                                                                              | YES                                                                                                                             | YES                                                                                                                            | -         | -         |
| [EXISTS-to-IN](https://app.gitbook.com/s/SsmexDFPv2xG2OTyO5yV/ha-and-performance/optimization-and-tuning/query-optimizations/subquery-optimizations/exists-to-in-optimization)                                            | -                                                                                                                               | YES                                                                                                                            | -         | -         |
| Optimization for derived tables / views                                                                                                                                                                                   |                                                                                                                                 |                                                                                                                                |           |           |
| Delayed materialization of derived tables / materialized views                                                                                                                                                            | YES                                                                                                                             | YES                                                                                                                            | -         | YES       |
| Instant EXPLAIN for derived tables                                                                                                                                                                                        | YES                                                                                                                             | YES                                                                                                                            | -         | YES       |
| Derived Table with Keys optimization                                                                                                                                                                                      | YES                                                                                                                             | YES                                                                                                                            | -         | YES       |
| Fields of merge-able views and derived tables used in equality optimizations                                                                                                                                              | YES                                                                                                                             | YES                                                                                                                            | -         | -         |
| Execution control                                                                                                                                                                                                         |                                                                                                                                 |                                                                                                                                |           |           |
| LIMIT ROWS EXAMINED rows\_limit                                                                                                                                                                                           | YES (5.5)                                                                                                                       | YES                                                                                                                            | -         | -         |
| Optimizer control (optimizer switch)                                                                                                                                                                                      |                                                                                                                                 |                                                                                                                                |           |           |
| Systematic control of all optimizer strategies                                                                                                                                                                            | YES                                                                                                                             | YES                                                                                                                            | -         | partial   |
| EXPLAIN improvements                                                                                                                                                                                                      |                                                                                                                                 |                                                                                                                                |           |           |
| [Explain for DELETE, INSERT, REPLACE, and UPDATE](https://app.gitbook.com/s/SsmexDFPv2xG2OTyO5yV/reference/sql-statements/administrative-sql-statements/analyze-and-explain-statements/explain)                           | -                                                                                                                               | Partial                                                                                                                        | -         | YES       |
| EXPLAIN in JSON format                                                                                                                                                                                                    | -                                                                                                                               | -                                                                                                                              | -         | YES       |
| [More detailed and consistent EXPLAIN for subqueries](https://app.gitbook.com/s/SsmexDFPv2xG2OTyO5yV/reference/sql-statements/administrative-sql-statements/analyze-and-explain-statements/explain)                       | YES                                                                                                                             | YES                                                                                                                            | -         | -         |
| Optimizer trace                                                                                                                                                                                                           |                                                                                                                                 |                                                                                                                                |           |           |
| Optimizer trace                                                                                                                                                                                                           | -                                                                                                                               | -                                                                                                                              | -         | YES       |

<sub>*This page is licensed: CC BY-SA / Gnu FDL*</sub>

{% @marketo/form formid="4316" formId="4316" %}
