学习笔记--mysql索引(五) 聚簇索引和覆盖索引

一. 聚簇索引

聚簇索引并不是一种单独的索引类型,而是一种数据的存储方式。InnoDB的聚簇索引实际在同一个结构中保存了B树索引和数据行。也就是说,当表有聚簇索引时,它的数据行实际存放在索引的叶子页中。显然,由于无法把数据和放在两个不同的地方,一个表只能有一个聚簇索引。

对于InnoDB来说,默认使用主键作为聚簇索引,所以最好有一个与业务无关且自增的主键,这样会有比较好的插入和删除性能,也就是代理主键。

使用业务相关的主键的时候要非常小心,最好是该主键有一些聚集性和自增性,否则插入和删除可能性能非常低下。

二. 覆盖索引

覆盖索引的意思是一个索引包含了所有需要查询字段的值,这样查询就只需要扫描索引而不需要回表。

在explain的extra总看到“Using index”就表示使用了覆盖索引。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值