• 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)
    

  • 相关阅读:
    Binary Search Tree Iterator 解答
    Invert Binary Tree 解答
    Min Stack 解答
    Trapping Raining Water 解答
    Candy 解答
    Jump Game II 解答
    Implement Hash Map Using Primitive Types
    Gas Station 解答
    Bucket Sort
    HashMap 专题
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13350069.html
Copyright © 2020-2023  润新知