【mysql】mysql的各种索引

文章详细介绍了数据库索引的类型,包括主键索引、唯一索引、普通索引、前缀索引、全文索引和覆盖索引,以及它们的特点和应用场景。同时,讨论了索引的两种存储形式——聚集索引和二级索引,解释了它们的数据组织方式和查询效率差异。

一、类型分类
  • 1.主键索引:建立在主键上的索引,一张表只能有一个主键索引,索引列值不能为空,通常在创建表是一起创建
  • 2.唯一索引:建立在unique字段上的索引,一张表可以有多个唯一索引,索引列值允许为空,列值中出现多个空值不会发生重复冲突
  • 3.普通索引:建立在普通字段上的索引,为了方便查询,normal
  • 4.前缀索引:对字符类型字段的前几个字段或对二进制类型字段的前几个bytes建立的索引,不是在整个字段上建索引。前缀索引可以建立的类型为char、varchar、binary、varbinary的列上,减少索引占用的存储空间,能提升索引查询效率,mysql无法使用前缀索引做order by和group by
  • 5.全文索引:是将存储于数据库中的整本书或整篇文章中的任意信息查找出来的技术, 全文索引一般是通过倒排索引实现的。fulltext
  • 6.覆盖索引:查询语句的select列表中的字段都可以通过索引直接获取,而不需要回表查询数据文件中的其他行
二、存储形式分类
  • 1.聚集索引:数据和索引聚集在了一起,索引结构的叶子节点保存了行数据,有且只有一个。如果存在主键,主键索引就是聚集索引,不存在主键,使用第一个唯一索引作为聚集索引,没有合适的唯一索引,innodb会生成一个rowid作为隐藏的聚集索引
  • 2.二级索引:数据和索引分开存储,索引结构的叶子节点关联的是对应的主键,需要根据主键回表查才能得到整个行数据,可以存在多个
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王佑辉

老板,赏点吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值