主键重复和唯一索引冲突_一文详解mysql索引原理

本文详细介绍了MySQL的索引类型,包括主键索引、唯一索引、普通索引和聚合索引的工作原理,并探讨了哈希索引和B+树索引的底层结构及优缺点。通过对索引的理解,有助于优化SQL查询性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ef489398853a016bc04e9b126188a2cf.png

学习任何技术,首先我们要知道怎么用,熟练之后再探究其原理,最后再根据业务进行优化。

——船长

MySQL的索引有哪些?

主键索引:表的主键列会默认添加索引,索引中保存了该行记录的所有数据
唯一索引(upique):该列的所有值必须唯一
普通索引(normal):普通列的一种索引
聚合索引:是普通索引中的一种,但是它是由多个列组成的索引

索引怎么用?

假设我们有几张表,如下

62b691a24ddf4904ae2cb66d9e2c723e.png

使用navicat设计学生student表,并添加索引如下

7324ab13dabd79fa5ab333f35022a347.png

1、主键索引

mysql会为每个表的主键自动添加索引,在其索引树的叶子节点中,保存着主键所在行的所有数据,这个后面会讲。也就是说只要找到主键,就代表找到了该行记录,所以使用了主键索引速度会比较快

9f91d3377eb085556bcf418d00dc6cad.png

2、唯一索引

唯一索引对应的列,其数据不可重复,这点相当于主键,不同的是其索引树的叶子节点保存的不是所在行的所有数据,而是该列的值,查询速度比主键慢一些

ed4f5e5f303ed6fac3f7a86fd9033849.png

3、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值