美文网首页
mysql实践之唯一索引和普通索引如何选

mysql实践之唯一索引和普通索引如何选

作者: 中2庸 | 来源:发表于2021-12-14 17:10 被阅读0次

    主键索引:会进行主键约束,并且是唯一索引,生成的索引是主键索引;
    唯一索引:主键是特殊的唯一索引,但是唯一索引可以为空值,主键不允许为空,也是二级索引
    普通索引:普通索引可以重复,是二级索引;

    查询情况下:
    • 普通索引:分两种情况,一种是查询的参数在页尾,这样匹配后还需要查询下一个是否满足条件;
    • 唯一索引:直接匹配后就可以停止检索;
      总结:查询的差异影响并不大
    更新情况下:

    更新:插入、删除、更新;


    image.png

    change buffer:innodb引擎的内存,从buffer pool获取,用与存取当前的更新变化,【减少磁盘io】;
    应用场景:

    • 普通索引且目标页不在内存时,使用change buffer进行临时存储,当访问更新的数据时、后台定时刷新时、数据库正常关闭时进行merge操作;
    • 唯一索引的情况下并不起作用,因为存在唯一索引需要读取磁盘数据到内存,并判定唯一性,这样直接可以在内存修改,用不上change buffer;
    • 对于历史库,使用机械硬盘的,写多读少的情况下可以起较大作用;

    相关文章

      网友评论

          本文标题:mysql实践之唯一索引和普通索引如何选

          本文链接:https://www.haomeiwen.com/subject/vvvrfrtx.html