mysql联合索引、覆盖索引

本文详细介绍了数据库中的联合索引使用原则,包括最左前缀、离散度高和最少空间的重要性。同时,讲解了覆盖索引的概念,指出当查询列完全匹配索引时,可以避免回表操作,提高查询效率。通过实例展示了覆盖索引在不同查询场景下的应用,强调了索引设计对数据库性能的影响。
摘要由CSDN通过智能技术生成

联合索引是有多个列组成的一个索引

联合索引的使用遵循的原则

最左前缀>离散度高>最少空间

唯一索引的最末尾会保存主键的值 

覆盖索引

通过索引项的信息可直接返回所需的查询列,称为覆盖索引

索引 PK(id)、key(name,phone)、unique(userNum)

select userNum from teacher where userNum = ?         此处使用了覆盖索引索引(不需要回表)

select * from teacher where userNum = ?        此次没有使用覆盖索引

select id,userNum from teacher where userNum = ?    此处使用了覆盖索引,唯一索引最末尾会保存主键的值,所以不需要回表

select phone from teacher where userNum = ?  此处没有使用覆盖索引,俩个索引是两个不同的树

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值