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

    14.6.5 Configuring InnoDB Change Buffering  配置InnoDB Change Buffering
    
    
    当插入,更新,和删除操作在表上执行, 索引列的值(特别是 secondary keys的值)
    
    经常是在无序的状态, 需要大量的I/O 来更新secondary indexes
    
    InnoDB 有一个change buffer 来caches changes 到secondary index的条目当相关的page 不是在buffer pool里。
    
    这样避免了昂贵的I/O操作通过不是立即从磁盘读近到内存里。
    
    
    buffered changes 是被合并当page 是加载到buffer pool,更新的pages 是随后刷新到磁盘。
    
    
    InnoDB 主要线程合并Buffer changes 当server 是空闲的时候
    
    
    因为它可以减少磁盘读和写, change buffer 功能是很有价值的对于 I/O密集型的负载
    
    
    然而,change buffer 占用了一部分的buffer poll,降低了可用内存来cache data pages.
    
    
    如果工作集几乎填满整个buffer pool,或者如果你的表有相对较少的secondary indexes, 
    
    
    则可以禁用change buffering.
    
    如果 工作占用整个Buffer, change buffering不会产生额外的负载, change buffer 只是应用于pages 不在buffer pool里的
    
    
    你可以控制extent InnoDB 执行change buffering 使用 innodb_change_buffering  配置参数。
    
    你可以启用或者禁用buffering用于插入,删除操作(当index 记录是标记为删除)
    
    
    purge 操作(当index records 是物理删除)
    
    一个更新操作是 insert和delete的组合 默认innodb_change_buffering value 是all
    
    mysql> show variables like '%innodb_change_buffering%';
    +-------------------------+-------+
    | Variable_name           | Value |
    +-------------------------+-------+
    | innodb_change_buffering | all   |
    +-------------------------+-------+
    1 row in set (0.00 sec)
    

  • 相关阅读:
    C#通过属性名字符串获取、设置对象属性值
    程序员的入门 简单的编程HelloWord
    第二章
    Winform笔记
    Semantic框架的使用
    Java多线程中锁的理解与使用
    vue实用组件——页面公共头部
    SpringBoot 整合ElasticSearch,实现站内搜索,高亮关键字
    maven出现如下报错Dmaven.multiModuleProjectDirectory system property is not set
    vue中引入bootsrtap,jquery,elementUI
  • 原文地址:https://www.cnblogs.com/zhaoyangjian724/p/6199021.html
Copyright © 2011-2022 走看看