1.什么是插入缓冲 (Insert Buffer

insert buffer是一种特殊的数据结构(B+ tree)并不是缓存的一部分,而是物理页,这里讲的缓冲是针对的非聚集索引并且索引不是唯一的。 对于非聚集索引的插入或者更新操作,不是每一次直接插入到索引页中,而是先判断插入的非聚集索引页是否在缓冲池中,若在,则直接插入;若不在,则先放入Insert Buffer对象中,最后再以一定的频率进行Insert Bufffer和辅助索引页子节点中的merge(合并)操作。

2. insert buffer的缺点

①.可能导致数据库宕机后实例恢复时间变长。如果应用程序执行大量的插入和更新操作,且涉及非唯一的聚集索引,一旦出现宕机,这时就有大量内存中的插入缓冲区数据没有合并至索引页中,导致实例恢复时间会很长

② 在写密集的情况下,插入缓冲会占用更多的缓冲池内存(innodb_buffer_pool), 默认情况可以最大占用1/2

3.查看insert buffer

命令 show engine innodb status

seg size显示了当前Insert buffer的大小为2 * 16kb

free list len代表了空闲列表的长度,(缓冲区内可用的页数)

size代表了已经合并记录页的数量。

Inserts 代表了插入的记录数量; merged recs代表了合并的插入记录数量;

merged operations - insert: The number of inserted records merged.merged插入的记录数

merged operations - delete mark: The number of deleted records merged.merged删除记录数

merged operations - delete: The number of purge records merged.merged清除记录数

discarded operations - insert: The number of insert merge operations discarded. 丢弃的插入合并操作数

discarded operations - delete mark: The number of delete merge operations discarded. 丢弃的删除合并操作数

discarded operations - delete: The number of purge merge operations discarded. 丢弃的清除合并操作数。

Mysql关键特性-插入缓冲 (Insert Buffer)相关推荐

  1. mysql 不完全插入_MySql insert插入操作不完全指北_MySQL

    bitsCN.com MySql insert插入操作不完全指北 1.插入的数据来源自其他表 表A有id, cola 字段 表B有id, cola, colb...等字段,其中id都为主键,cola为 ...

  2. MySQL :InnoDB 存储引擎(lnnoDB 关键特性)

    asdsInnoDB 是事务安全的MySQL 存储引擎,设计上采用了类似于Oracle 数据库的架构.通常来说, InnoDB 存储引擎是OLTP应用中核心表的首选存储引擎.同时,也正是因为InnoD ...

  3. mysql 插入缓冲_innodb insert buffer 插入缓冲区的理解

    今天在做一个大业务的数据删除时,看到下面的性能曲线图 在删除动作开始之后,insert buffer 大小增加到140.对于这些状态参数的说明 InnoDB Insert Buffer 插入缓冲,并不 ...

  4. 什么是Mysql的next-key、插入缓冲、二次写、自适应哈希索引和预读

    目录 楔子 一.间隙锁(Next-Key锁) 二.插入缓冲(Insert Buffer) 2.1.什么是insert buffer? 2.2.insert buffer的触发条件? 2.3.为什么不能 ...

  5. mysql双写缓冲_MYSQL-写缓冲(change buffer)

    (1)MySQL数据存储包含内存与磁盘两个部分: (2)内存缓冲池(buffer pool)以页为单位,缓存最热的数据页(data page)与索引页(index page): (3)InnoDB以变 ...

  6. [MySQL] InnoDB三大特性之 - 插入缓冲

    InnoDB存储引擎有三大特性非常令人激动,它们分别是插入缓冲.两次写和自适应哈希,本篇文章先介绍第一个特性 - 插入缓冲(insert buffer) 在上一篇<MySQL - 浅谈InnoD ...

  7. InnoDB关键特性之插入缓冲

    Insert Buffer:主要用于提高非聚集索引的插入和更新性能 聚集索引和非聚集索引 聚集索引就是数据索引按照索引排序,且内容也是顺序存储(等价于汉语字典按照拼音索引排序) 非聚集索引索引项按照顺 ...

  8. mysql 插入缓冲

    在看<mysql技术内幕:innodb存储引擎>看到插入缓冲,google了一下,发现如下解释: 摘录自:http://www.itpub.net/viewthread.php?tid=1 ...

  9. MariaDB/MySQL防止重复插入相同记录:INSERT IGNORE或者REPLACE

    MySQL防止重复插入相同记录有2种常用的方法. 1 使用 INSERT IGNORE 使用 INSERT IGNORE 可以在插入具有相同主键的数据时不做重复插入. mysql> SELECT ...

最新文章

  1. 样本不平衡不均衡数据处理
  2. 盛大文学难逃“垄断”嫌疑,完美文学虎口夺食
  3. 项目简单实用方式_组合替代继承_状态决定行为
  4. 清华计算机系上热搜!近9成优秀毕业生放弃留学,前50名41人留校深造
  5. 【C++】new A和new A()的区别详解
  6. java applet 事件_applet中的普通事件被按钮事件劫走!!!!!在线等。。。。。...
  7. [javascript]实现登陆界面拖动窗口
  8. PTA-Python题库(浙大版Python程序设计教材对应练习) 题解索引
  9. 数据运营与组织变革 知识体系
  10. 手机扫码枪app,手机扫码,内容上电脑表格
  11. web渗透信息收集知识总结
  12. pigeon-remoting模块功能分析
  13. 麦克劳林级数与麦克劳林公式(泰勒公式)及傅里叶级数(易忘)
  14. 当别人对自己有意见时,怎么处理?
  15. Idea 2022 创建 Artifacts 运行 Tomcat 步骤
  16. Anaconda的卸载及安装(图文详解)
  17. UG NX 12 鼠标操作
  18. 郑渊洁:一个著作等身的文盲
  19. Javascript 16进制转有符号的10进制整数
  20. Cello初始化时报JGRP000014

热门文章

  1. kafka按照时间查询记录
  2. html调用一言api,纯 JavaScript 实现网站一言功能
  3. 真实评测 i51155g7和锐龙r75700u选哪个好
  4. 什么是裸金属服务器,裸金属服务器适用什么场景?
  5. vue入门笔记(三)
  6. 0基础趣学SEO,引爆流量,让客户主动找上门的躺赚神技
  7. 解决github频繁输入密码问题和git@github.com:Permission denied (publickey)问题
  8. war3 小头像图标位置
  9. Unity将世界坐标转为UI坐标
  10. Why That Big Meal You Just Ate Made You Hungry