MySQL 在索引列上使用不等于、is null、is not null、OR 查询无法使用索引

使用不等于(!=或<>)时无法使用索引而使用全表扫描。

EXPLAIN SELECT * FROM staffs WHERE `name` != 'July';
EXPLAIN SELECT * FROM staffs WHERE `name` <> 'July';

使用 is null, is not null 时无法使用索引而使用全表扫描。

EXPLAIN SELECT * FROM staffs WHERE `name` is null;
EXPLAIN SELECT * FROM staffs WHERE `name` is not null;

使用 OR 做查询时无法使用索引而使用全表扫描。

EXPLAIN SELECT * FROM staffs WHERE `name` = 'July' OR `name` = 'Sumi';

你可能感兴趣的:(mysql)