MySQL索引的分类;为什么使用索引会加快查询?
  R4VBsx5oF4Uo 2023年11月02日 36 0

一、索引的分类

从三个不同维度对索引分类:

MySQL索引的分类;为什么使用索引会加快查询?_数据

从基础使用方面来看:

主键索引:InnoDB主键是默认的索引,数据列不允许重复,不允许为NULL,一个表只能有一个主键。

唯一索引:数据列不允许重复,允许为NULL值,一个表允许多个列创建唯一索引。

普通索引:基本的索引类型,没有唯一性的限制,允许值为NULL。

组合索引:多列值组成一个索引,用于组合搜索,效率大于索引合并。

二、为什么使用索引会加快查询?

传统的查询方法,是按照表的顺序遍历的,不论查询几条数据,MySQL需要将表的数据从头到尾遍历一遍。

在添加完索引之后,MySQL一般通过BTREE算法生成一个索引文件,在查询数据库时,找到索引文件进行遍历,在比较小的索引数据里面进行查找,然后映射到对应的数据,能够大幅提高查找效率。

这和我们通过书的目录去查找对应的内同道理相似。

MySQL索引的分类;为什么使用索引会加快查询?_MySQL_02

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
R4VBsx5oF4Uo