zoukankan      html  css  js  c++  java
  • 14.3.5 Configuring InnoDB Change Buffering

    14.3.5 Configuring InnoDB Change Buffering

    14.3.5.1 Configuring the Change Buffer Maximum Size

    当 INSERT, UPDATE, and DELETE操作在表上执行, 索引列的值(特别是secondary keys的值)

    是经常在一个不排序的顺序,需要大量的I/O 带来给secondary indexes

    InnoDB 有一个change buffer 用于caches 对secondary index I/O操作的缓存

    通过不理解读取磁盘的页。缓存的改变是被合并当页被加载到buffer,

    更新的页随后刷新到磁盘。InnoDB 主thread 合并缓存的changes 当server是空闲的时候,或者是一个缓慢的关机。

    因为它可以导致更少的磁盘读取和写入,change buffer 功能是很宝贵的对于负载是I/O密集型的,

    比如有大量的DML操作 比如批量插入。

    然而,change buffer 占用buffer pool的一部分,降低了可用内存用于cache 数据页。

    如果工作集总是适合Buffer pool, 或者你的表有相对较少的secondary indexes.

    禁用change buffer 是有用的, 如果工作集占用整个在buffer ,changes buffer 不利用额外的负载,

    因为它只使用与那些不在buffer pool的pages.

    你可以控制extent ,InnoDB 执行change buffering 使用innodb_change_buffering 配置参数

    mysql> show variables like ‘%innodb_change_buffering%’;
    +————————-+——-+
    | Variable_name | Value |
    +————————-+——-+
    | innodb_change_buffering | all |
    +————————-+——-+
    1 row in set (0.00 sec)

    你可以启用和禁用buffering 用于 inserts, delete operations(当index records 初始标记用于删除)

    和purge 操作(当index records 是物理删除的)

    一个update 操作是一个insert 和delete 组合。默认是all

    允许的innodb_change_buffering 值包括:

    1.all

    默认值:buffer inserts, delete-marking operations, and purges.

  • 相关阅读:
    activity启动模式
    Android自定义view:折线图(附带动画效果)
    支付宝开发接口 Multiple dex files define Lcom/ta/utdid2/device/UTDevice
    android 开发中应用到的单例模式
    新浪微博分享错误代码 10014
    android Model与View解耦的一个简单方式
    android studio 新建项目导入到Coding远程仓库git
    一起学习MVC(2)数据库设计
    ASP.NET MVC :MVC页面验证与授权
    ASP.net:水晶报表的5种表格设计模式
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13351182.html
Copyright © 2011-2022 走看看