# 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](/docs/release-notes/community-server/about/compatibility-and-differences/differences-between-the-mysql-and-mariadb-query-optimizer.md).

| Feature                                                                                                                                                                                    | [MariaDB 5.3](/docs/release-notes/community-server/old-releases/5.3/changes-improvements-in-mariadb-5-3.md)/5.5 | [MariaDB 10.0](/docs/release-notes/community-server/old-releases/10.0/changes-improvements-in-mariadb-10-0.md) | MySQL 5.5 | MySQL 5.6 |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | --------- | --------- |
| Disk access optimizations                                                                                                                                                                  |                                                                                                                 |                                                                                                                |           |           |
| [Index Condition Pushdown](/docs/server/ha-and-performance/optimization-and-tuning/query-optimizations/index-condition-pushdown.md) (ICP)                                                  | YES                                                                                                             | YES                                                                                                            | -         | YES       |
| [Disk-sweep Multi-range read](/docs/server/ha-and-performance/optimization-and-tuning/mariadb-internal-optimizations/multi-range-read-optimization.md) (DS-MRR)                            | YES                                                                                                             | YES                                                                                                            | -         | YES       |
| [DS-MRR with Key-ordered retrieval](/docs/server/ha-and-performance/optimization-and-tuning/mariadb-internal-optimizations/multi-range-read-optimization.md)                               | YES                                                                                                             | YES                                                                                                            | -         | -         |
| [Index\_merge / Sort\_intersection](/docs/server/ha-and-performance/optimization-and-tuning/query-optimizations/index_merge-sort_intersection.md)                                          | 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](/docs/server/ha-and-performance/optimization-and-tuning/query-optimizations/subquery-optimizations/non-semi-join-subquery-optimizations.md#the-in-to-exists-transformation) | YES                                                                                                             | YES                                                                                                            | YES       | YES       |
| [Semi-join](/docs/server/ha-and-performance/optimization-and-tuning/query-optimizations/subquery-optimizations/semi-join-subquery-optimizations.md)                                        | YES                                                                                                             | YES                                                                                                            | -         | YES       |
| [Materialization](/docs/server/ha-and-performance/optimization-and-tuning/query-optimizations/optimization-strategies/semi-join-materialization-strategy.md)                               | YES                                                                                                             | YES                                                                                                            | -         | YES       |
| NULL-aware Materialization                                                                                                                                                                 | YES                                                                                                             | YES                                                                                                            | -         | -         |
| Cost choice of materialization vs. in-to-exists                                                                                                                                            | YES                                                                                                             | YES                                                                                                            | -         | YES       |
| [Subquery cache](/docs/server/ha-and-performance/optimization-and-tuning/query-optimizations/subquery-optimizations/subquery-cache.md)                                                     | YES                                                                                                             | YES                                                                                                            | -         | -         |
| Fast explain with subqueries                                                                                                                                                               | YES                                                                                                             | YES                                                                                                            | -         | -         |
| [EXISTS-to-IN](/docs/server/ha-and-performance/optimization-and-tuning/query-optimizations/subquery-optimizations/exists-to-in-optimization.md)                                            | -                                                                                                               | 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](/docs/server/reference/sql-statements/administrative-sql-statements/analyze-and-explain-statements/explain.md)                           | -                                                                                                               | Partial                                                                                                        | -         | YES       |
| EXPLAIN in JSON format                                                                                                                                                                     | -                                                                                                               | -                                                                                                              | -         | YES       |
| [More detailed and consistent EXPLAIN for subqueries](/docs/server/reference/sql-statements/administrative-sql-statements/analyze-and-explain-statements/explain.md)                       | YES                                                                                                             | YES                                                                                                            | -         | -         |
| Optimizer trace                                                                                                                                                                            |                                                                                                                 |                                                                                                                |           |           |
| Optimizer trace                                                                                                                                                                            | -                                                                                                               | -                                                                                                              | -         | YES       |

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

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mariadb.com/docs/release-notes/community-server/about/compatibility-and-differences/optimizer-feature-comparison-matrix.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
