什么是索引失效:
使用索引查询某行数据,但数据库扫描全表进行查询时 叫索引失效;
查询sql是否命中索引的关键字 explain
explain SELECT * FROM sms_black_list where id = 74
索引失效的几种方式:
1、where中存在 or
2、类型为char,查询条件时用int
3、模糊查询时,%开头的查询
4、not in
5、where索引列有运算
6、where中索引列使用了函数
为什么要用索引:
提升查询性能 ,缩短查询时间
场景:8千万数据的表中查询一行数据,没有索引查询耗时500s+,使用索引查询耗时0.03s
索引的缺点:
1、单表索引不建议超过5个
2、插入数据慢
3、占用磁盘空间