关于MySQL的索引

索引的优势与劣势

1.优势:① 索引可以提高数据检索的效率,降低数据库IO成本。② 通过索引对数据进行排序,降低数据排序的成本,降低了CPU的消耗

2.劣势:① 降低更新表的速度。 ② 对索引字段进行频繁更新操作会导致索引被破坏。

什么时候适合建索引

1.主键自动建立唯一索引

2.频繁作为查询条件的字段应该建立索引

3.查询中与其他表关联的字段,外键关系建立索引

4.单键/组合索引的选择问题,组合索引性价比更高

5.查询中排序的字段

6.查询中统计或者分组字段

什么时候不适合建索引

1.表数据量少

2.经常增删改的表或者字段

3.where条件里用不到的字段不必创建索引

4.内容重复率大的字段不适合建立索引

索引失效的几种情况

1.条件中有or(除非or条件中的每个字段都加上索引)

2.like左模糊查询

3.字符串类型字段没用’’引起来

4.组合索引的第一列字段不在条件里

5.查询空值:is null、is not null

6.在索引字段上使用not、<>、!=

7.使用函数、对索引字段进行计算

8.索引字段内容重复率高,全表扫描比使用索引快,则不会使用索引。

0%