天天看点

一文彻底搞懂Mysql索引

一.什么是索引?

索引是帮助MySQL高效获取数据的排好序的数据结构(本质是一种优化查询的数据结构)

二.为什么要使用索引?

索引的出现就是为了提高查询效率,就一本新华词典,我们通过目录快速锁定要查询的“字”在那一页。其实说白了,索引要解决的就是查询问题。

三.索引的优缺点?

优点:

  1. 可以有效的提高查询效率;
  2. 可以加速表与表的连接;
  3. 可以减少查询中分组和排序的时间

    缺点:

  4. 占据磁盘空间;
  5. 创建和维护索引消耗时间;
  6. 对表中的数据进行CRUD时,索引也要同时维护,降低了数据的维护速度。

四.索引的设计原则?

  1. 数据量小的表最好不要建立索引;
  2. 不是越多越好,常更新的表越少越好;
  3. 频繁进行排序或分组的列(group by或者是order by)可以建立索引,提高搜索速度;
  4. 如保证主键唯一型,可考虑建立唯一性索引;
  5. 经常用于查询条件的字段应该建立索引。

五.什么时候要创建索引?

  1. 表中的主关键字自动建立唯一索引;
  2. where 子

继续阅读