【MySQL(五 )】唯一索引 普通索引

看了极客世界的mysql教程里关于这个议题的talk,总结如下

查询方面:二者性能几乎一致,区别在于唯一索引只需要返回读到的第一个值,而普通索引需要向后遍历找到所有满足条件的值。但是这个操作是在内存中进行的,所以基本可以忽略;

写入方面:对于唯一索引,因为需要保证唯一性,所以每一次的写操作都必须将值读到内存中,所以如果对应的数据页不在内存中,那么肯定会有一次磁盘随机读;但是对于普通索引,因为有change buffer机制,所以,如果数据页不在内存中,不一定需要将数据页读入内存。这样,在写多读少的场景下,普通索引的写入性能是要高于唯一索引的。

建议:

如果业务没有唯一性要求,尽量使用普通索引。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值