MYSQL 索引使用规则

   MYSQL 索引使用规则_第1张图片

索引失效

最左前缀法则

where之后写的顺序不重要,存在就可以

范围查询后面的索引查询失效(比如>),但是>=或者<是不会失效的

不要在索引列上进行运算操作,否则索引失效。

MYSQL 索引使用规则_第2张图片

字符串类型字段不加引号索引会失效

MYSQL 索引使用规则_第3张图片

尾部模糊匹配,索引不会失效,头部模糊匹配,索引会失效

MYSQL 索引使用规则_第4张图片

or连接前有索引,后没索引,所有的索引都会失效

MYSQL 索引使用规则_第5张图片

如果MYSQL评估使用索引比全表更慢,则不使用索引

MYSQL 索引使用规则_第6张图片
SQL提示

MYSQL 索引使用规则_第7张图片use只是建议,mysql用不用他自己评定

但是force是强迫它使用

覆盖索引

尽量使用覆盖索引(查询使用了索引,并且需要返回的列,在该索引中能全部找到),减少select*

MYSQL 索引使用规则_第8张图片MYSQL 索引使用规则_第9张图片

前缀索引

MYSQL 索引使用规则_第10张图片

n为前缀的长度

第二行就是截取前五个字符的选择性

单列索引&联合索引的选择

MYSQL 索引使用规则_第11张图片

 

你可能感兴趣的:(MYSQL,mysql,数据库)