> For the complete documentation index, see [llms.txt](https://mariadb.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mariadb.com/docs/release-notes/community-server/about/compatibility-and-differences/optimizer-feature-comparison-matrix.md).

# 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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.
