This is 5.2, for comparison: MariaDB [j28]> explain SELECT * FROM t1 WHERE (f3 = 83) OR (f10 = 'z' AND f3 IS NULL); +----+-------------+-------+-------------+---------------+------+---------+-------+------+-------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-------+-------------+---------------+------+---------+-------+------+-------------+ | 1 | SIMPLE | t1 | ref_or_null | f3 | f3 | 5 | const | 2 | Using where | +----+-------------+-------+-------------+---------------+------+---------+-------+------+-------------+ 1 row in set (0.00 sec)
This is 5.2, for comparison: ------- -----+- ------+ ------- ------+ ------- ------- -+----- -+----- ----+-- -----+- -----+- ------- -----+ ------- -----+- ------+ ------- ------+ ------- ------- -+----- -+----- ----+-- -----+- -----+- ------- -----+ ------- -----+- ------+ ------- ------+ ------- ------- -+----- -+----- ----+-- -----+- -----+- ------- -----+
MariaDB [j28]> explain SELECT * FROM t1 WHERE (f3 = 83) OR (f10 = 'z' AND f3 IS NULL);
+----+-
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-
| 1 | SIMPLE | t1 | ref_or_null | f3 | f3 | 5 | const | 2 | Using where |
+----+-
1 row in set (0.00 sec)