MySQL索引总结

MySQL索引总结

索引优点

  • 提高数据检索效率

  • 提高聚合函数效率

  • 提高排序效率

  • 使用覆盖索引可以避免回表

索引创建的三个经常

  • 经常被查询的列(一般放在where的条件后面)

  • 经常用于表连接的列

  • 经常排序分组的列(order by或者group by后面的字段)

索引创建的四不要

  • 选择性低的字段不需要创建索引(性别,状态)

  • 很少查询的列不要创建索引(项目初期就要确定好)

  • 大数据类型不要创建索引

  • 列允许含有NULL值的不要创建索引(可以使用空字符串替代NULL)

使用不到索引的情况

  • 通过索引扫描的行记录超过全表的30%,优化器就不会走索引,而变成全表扫描

  • 联合索引中,第一个查询条件不是最左索引列

  • 联合索引中,第一个索引列使用范围查询,只能使用到部分索引

  • 模糊查询条件最左以通配符 % 开始

  • 两个单列索引,一个用于检索,一个用于排序。这种情况下只能使用到一个索引。因为查询语句最多只能使用一个索引,考虑建立联合索引

  • 查询字段上面有索引,但是使用了函数运算

你可能感兴趣的:(MySQL索引总结)