普通索引和唯一索引,应该怎么选择?

本文探讨了在数据库中选择普通索引和唯一索引的考量因素,包括性能影响和适用场景。分析表明,唯一索引保证数据唯一性,而普通索引在更新操作时能利用change buffer提升性能。当业务更新后随即查询时,change buffer可能带来反效果。因此,根据业务需求,更新频繁且非唯一性约束的场景更适合使用普通索引。
摘要由CSDN通过智能技术生成

Python微信订餐小程序课程视频

https://edu.csdn.net/course/detail/36074

Python实战量化交易理财系统

https://edu.csdn.net/course/detail/35475
1)什么是唯一索引?

  • 不允许具有索引值相同的行,比如身份证唯一的

案例:假设你在维护一个市民系统,每个人都有一个唯一的身份证号,而且业务代码已经保证了不会写入两个重复的身份证号。如果市民系统需要按照身份证号查姓名,那该如何建索引?

 select name from CUser where id\_card = 'xxxxxxxyyyyyyzzzzz';

2)为什么说不建议把身份证号当做主键?

  • 身份证号字段比较大

3)对上面的语句建索引我们该怎么建?

  • 业务代码已经保证了不会写入重复的身份证号,索引给 id_card 字段创建唯一索引,或者创建一个普通索引。

4)从性能的角度考虑,应该选择唯一索引还是普通索引呢?

  • 看下面的分析

案例:从这两种索引对查询语句和更新语句的性能影响来进行分析

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值