四时宝库

程序员的知识宝库

mysql索引——组合索引(mysql组合索引和单独索引)

什么是组合索引?

组合索引,也称为复合索引或多列索引,是由多个数据库字段组成的,是数据库的一种索引类型。

组合索引的优势

  1. 提高查询性能,由于涉及到多个字段的查询时,组合索引可以减少回表的次数,或者避免回表,提高查询速度;
  2. 减少io,这里就不得不提到索引下推,减少了io的数据量,如果查询的字段刚好也是索引列,并且其中带有聚集索引,那么覆盖索引也会生效,直接避免了回表;
  3. 减少磁盘空间,a、b、c三个字段建立索引,相当于a、ab、abc的建立;

最左前缀原理

  1. 组合索引生效,其中一定要包含索引的第一个列,如a、b、c建立索引,那么索引生效包含(a)、(ab)、(ba)、(abc)、(bac)、(bca)、(cba)、(acb)、(cab)
  2. 使用部分索引,需要注意除了包含索引的第一个列外,其他索引要包含第二个索引列,否则不会命中索引。

索引的注意事项

  1. 索引不是越多越好,越多增加了存储空间;
  2. 索引降低了插入、删除、修改的维护任务速度;
  3. 唯一索引保证了每一行数据的唯一性;

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接