普通索引和唯一索引,你该怎样选择?

2020-04-18  本文已影响0人  salix_

在看mysql45讲,收获颇丰。

1.问题引入

你现在已经知道了唯一索引的优势了,那就是每次插入的时候会帮助我们去查询一下是不是数据库中已经存在了这个值,如果存在就插入失败。普通索引可以插入重复的值。假设现在要统计市民的信息,身份证号已经保证了唯一。所以唯一索引的优势不存在了,那么普通索引就更优秀吗?

2. 性能比较

我们从select,update两方面说

3. 查询

4. 更新

5. 总结

  1. 唯一索引和普通索引 读是差不多的。所以如果是读少写多,普通索引更优秀,因为change buffer的存在。但是如果是每次写了之后都要都读,唯一索引更优秀一点点,因为唯一索引是直接往磁盘写,而普通索引是先写change buffer,再从change buffer往磁盘写。
  2. 所以就选普通索引!如果每次写了之后都要读,那就关闭change buffer。

6. 补充:change buffer和redo log

redolog主要是记录操作,可以恢复数据库。 而change buffer是提升效率。

上一篇 下一篇

猜你喜欢

热点阅读