zoukankan      html  css  js  c++  java
  • 普通索引和唯一索引,应该怎么选择

    1 查询过程
       几乎无影响
     
    2 更新过程
       如果数据页在内存中,就直接更新,如果没在数据页中,就把更新纪录纪录在change buffer中,这样就不需要从磁盘中读取数据页了。下次查询的时候,读入这个数据页,然后按照change buffer进行修改
     
    3 change buffer适合写多读少的业务
     
    4 change buffer 减少了读磁盘的IO,redo log 减少了随机写磁盘的IO
     
     
     
    是否使用唯一索引
     
    首先,业务正确性优先。此文章的前提是“业务代码已经保证不会写入重复数据”的情况下,讨论性能问题。
    如果业务不能保证,或者业务就是要求数据库来做约束,那么没得选,必须创建唯一索引
    然后,在一些“归档库”的场景,你是可以考虑使用普通索引的。比如,线上数据只需要保留半年,然后历史数据保存在归档库。这时候,归档数据已经是确保没有唯一键冲突了。要提高归档效率,可以考虑把表里面的唯一索引改成普通索引
     
     
  • 相关阅读:
    Springboot vue 前后分离 跨域 Activiti6 工作流 集成代码生成器 shiro权限
    mybatis3批量更新 批量插入
    Java GC的工作原理详解
    Hadoop的Map侧join
    cut 命令
    head 与 tail
    常用正则
    vim 设置
    Java泛型初探
    linux修改PS1,自定义命令提示符样式
  • 原文地址:https://www.cnblogs.com/l10n/p/12606873.html
Copyright © 2011-2022 走看看