索引失效
最左前缀法则
where之后写的顺序不重要,存在就可以
范围查询后面的索引查询失效(比如>),但是>=或者<是不会失效的
不要在索引列上进行运算操作,否则索引失效。
字符串类型字段不加引号索引会失效
尾部模糊匹配,索引不会失效,头部模糊匹配,索引会失效
or连接前有索引,后没索引,所有的索引都会失效
如果MYSQL评估使用索引比全表更慢,则不使用索引
SQL提示
use只是建议,mysql用不用他自己评定
但是force是强迫它使用
覆盖索引
尽量使用覆盖索引(查询使用了索引,并且需要返回的列,在该索引中能全部找到),减少select*
前缀索引
n为前缀的长度
第二行就是截取前五个字符的选择性