zoukankan      html  css  js  c++  java
  • 14.4.5 Configuring InnoDB Change Buffering 配置InnoDB Change Buffering

    14.4.5 Configuring InnoDB Change Buffering  配置InnoDB  Change Buffering
    
    
    当INSERT,UPDATE,和删除操作在表上操作, 索引列的值(特别是secondary keys的值)
    
    
    通常是不排序的,需要真正的I/O。
    
    
    InnoDB 有一个change buffer 来caches 改变到secondary index  entries
    
    
    当相关的page 不在buffer pool,从而避免昂贵的I/O操作不立即从磁盘读取。
    
    
    buffered changes 会被合并当page 被加载到buffer pool, 更新的page 随后刷新到磁盘。
    
    
    InnoDB 维护线程合并 buffered 改变当server 空闲的时候, 或者在一个slow shutdown .
    
    
    
    
    因为它能使得更少的磁盘读和写,change buffer 功能是很有价值的对于负载是I/O密集型的,
    
    比如 应用有大量的DML 比如bulk inserts:
    
    
    然而, change buffer 占据了buffer pool的一部分, 降低了可用内存来cache data pages.
    
    
    如果工作集几乎沾满了buffer pool,或者如果你的表有相对少的secodary indexes,
    
    你可以关闭change buffer.
    
    如果工作集沾满了整个buffer, change buffering 不会强加额外的负载,
    
    因为它只应用pages 不在buffer poo里的。
    
    
    
    你可以控制extent  InnoDB 执行change buffering 使用innodb_change_buffering  配置参数。
    
    你可以启用或者关闭 buffering 用于插入,删除操作(当index records 是最初标记为删除的)
    
    和purge 操作( 当index record 是被物理删除)
    
    
    一个update 操作是一个插入和删除的组合  默认innodb_change_buffering value is all.
    
    
    
    innodb_change_buffering  值允许的值:
    
    1.all
    
    默认值: buffer inserts, delete-marking operations, and purges.
    
    
    
    none
    
    
    不buffer 任何操作
    
    
    inserts
    
    buffer insert 操作
    
    
    deletes
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

  • 相关阅读:
    ajax方式提交表单数据并判断当前注册用户是否存在
    Javaweb实现对mongodb的增删改查(附带源代码)
    Navicat导入sql server数据库
    教师信息管理系统(方式一:数据库为oracle数据库;方式二:存储在文件中)
    八中常用的算法设计
    物体高亮与半透明
    unity发布ios高通AR的问题
    UITabView
    iOS Undefined ..Arm64问题解决
    unityweb Request请求
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13350644.html
Copyright © 2011-2022 走看看