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.
Feature
/5.5
MySQL 5.5
MySQL 5.6
Disk access optimizations
(ICP)
YES
YES
-
YES
(DS-MRR)
YES
YES
-
YES
YES
YES
-
-
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 (BKA)
YES
YES
-
YES
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
YES
YES
YES
YES
YES
YES
-
YES
YES
YES
-
YES
NULL-aware Materialization
YES
YES
-
-
Cost choice of materialization vs. in-to-exists
YES
YES
-
YES
YES
YES
-
-
Fast explain with subqueries
YES
YES
-
-
-
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
-
Partial
-
YES
EXPLAIN in JSON format
-
-
-
YES
YES
YES
-
-
Optimizer trace
Optimizer trace
-
-
-
YES
This page is licensed: CC BY-SA / Gnu FDL