innodb 存储引擎三大特性:

1.insert buffer

使用情况:1.二级索引 2.非唯一索引

在写密集的情况下,插入缓冲会占用过的内存,默认情况下中最大可以一半,可以修改ibuf_pool_size_per_max_size的值,如果设置值为3代表最多三分之一。(这个需要修改源码)

参数:

innodb_change_buffer_max_size

2.自适应hash

innodb存储引擎会监控对表上索引的查找,如果观察到建立哈希索引可以带来速度提示,

则建立哈希索引。自适应哈希通过缓冲池的B+树构造而来,以此建立的速度很快,

而且不需要将整个表都创建哈希索引。innodb存储会根据访问的频率和模式来为某些页建立哈希索引.

参数控制:

innodb_adaptive_hash_index

3.double  write

当缓冲池的脏页刷新时,并不直接写磁盘,而是通过memcpy函数将脏页先拷贝到内存之中的doublewrite buffer,之后通过doublewrite buffer再分2次,每次写入1MB到共享表空间的物理磁盘上,然后马上调用fsync函数,同步磁盘,避免缓冲写带来的问题。在在这个过程doublewrite 页是连续的,是顺序写,开销并不是很大

参数:

innodb_doublewrite

如果查看一个数据库的io写的繁忙程度,也可以通过2的参数比值是否大于64:

mysql> show status like '%innodb_dblwr%'\G;

*************************** 1. row ***************************

Variable_name: Innodb_dblwr_pages_written

Value: 42

*************************** 2. row ***************************

Variable_name: Innodb_dblwr_writes

Value: 5

2 rows in set (0.00 sec)

doublewrite由两部分组成,一部分为内存中的doublewrite buffer,其大小为2MB,另一部分是磁盘上共享表空间(ibdata x)中连续的128个页,即2个区(extent),大小也是2M。doublewrite工作流程如下:

1、当一系列机制(main函数触发、checkpoint等)触发数据缓冲池中的脏页进行刷新时,并不直接写磁盘,而是会通过memcpy函数将脏页先复制到内存中的doublewrite buffer,之后通过doublewrite buffer再分两次、每次1MB顺序写入共享表空间的物理磁盘上。

2、马上调用fsync函数,同步脏页进磁盘

由于在这个过程中,doublewrite页的存储时连续的,因此写入磁盘为顺序写,性能很高;完成doublewrite后,再将脏页写入实际的各个表空间文件,这时写入就是离散的了。各模块协作情况如下图(第一步应为脏页产生的redo记录logbuffer,然后logbuffer写入redo log file,为简化次要步骤直接连线表示):

内存包含如下:

1.innodb_buffer_poor

1.1page

1.2index

1.3自适应hash

1.4insert buffer

1.5 lock info

1.6 数据字典信息

2.redo  buffer

3.innodb_additional_mem_pool_size

mysql innodb 内存_MySQL的innodb和内存相关推荐

  1. mysql myisam 优点_mysql引擎Innodb和Myisam对比介绍和优缺点

    一.myisam引擎 1.mysql默认引擎,不支持事务* 2.表级锁定,更新时,锁定机制是整张表被锁定,其它连接无法更新表的数据,效率比较低下.锁的机制成本很少,但大大降低了并发性能* 3.读写互相 ...

  2. mysql innodb 文件_MySQL与InnoDB相关文件

    原标题:MySQL与InnoDB相关文件 上期回顾 <InnoDB存储引擎> 概要 本章将会分析构成MySQL数据库和InnoDB存储引擎的各种类型文件,这些文件有如下几种: 参数文件:主 ...

  3. mysql 如何清理内存_mysql 记录一次内存清理

    摘自:https://blog.csdn.net/wyzxg/article/details/7279986/ 摘要:Linux对内存的管理与Windows不同,free小并不是说内存不够用了,应该看 ...

  4. mysql innodb 恢复_MySQL之Innodb恢复的学习笔记

    MySQL · 引擎特性 · InnoDB 崩溃恢复过程 enum { SRV_FORCE_IGNORE_CORRUPT = 1, /*!< let the server run even if ...

  5. mysql的扩容_MySQL的InnoDB的扩容

    innodb_data_home_dir这是InnoDB表的目录共用设置.如果没有在 my.cnf 进行设置,InnoDB 将使用MySQL的 datadir 目录为缺省目录.如果设定一个空字串,可以 ...

  6. mysql innodb插件_mysql安装innodb插件

    1.可以用 show engines;或者show plugins;来查看 mysql>show plugins;+----------------------------+--------+- ...

  7. mysql多大_mysql的innodb表到底占用多大的空间?

    问题背景:最近某个数据库服务器磁盘告警,在数据库内查询information_schema.tables查看数据库一共占用了8个T左右的空间,但是在服务器上通过du命令查看数据库文件夹占用了18个T( ...

  8. mysql如何管理innodb元数据_MySQL 8 InnoDB 集群管理

    使用 dba.checkInstanceConfiguration() 在添加实例到集群中前,使用该方法检查实例配置是否满足InnoDB 集群要求. 使用 dba.configureLocalInst ...

  9. mysql innodb文件_MySQL的InnoDB文件介绍

    MySQL一个显著的特点是其可插拔的存储引擎,因此MySQL文件分为两种,一种是和MySQL数据库本身相关 的文件,一种是和存储引擎相关的文件.本文主要介绍和InnoDB存储引擎相关的文件. 表空间文 ...

最新文章

  1. go interface类型转换_Go: Understand the Empty Interface
  2. svn无法创建分支的解决方法
  3. 【Flutter】顶部导航栏实现 ( Scaffold | DefaultTabController | TabBar | Tab | TabBarView )
  4. Unity FixedUpdate 与 Update 的线程关系实验
  5. Py之demjson:Python库之demjson的简介、安装、使用方法详细攻略
  6. 如何将瀑布流里的图片加链接_「魔幻瀑布」180度全景接片+曝光合成!
  7. 在 Python 中使用 OpenCV 高斯模糊我这张的丑脸
  8. 第二次考试:错题总结
  9. 黄聪:wordpress如何开启文章格式post format
  10. 计算机有必要报英语四级吗,我已工作了,现在有必要去考英语四级吗?还是 – 手机爱问...
  11. 【QT 数据库专辑】【04】WIN7下搭建本地SQL SERVER数据库 - 手把手-登录远程数据库帐号设定问题
  12. linux oa系统搭建,linux版OA系统的安装配置
  13. Linux的ping用python,python与linux中的非特权ping IPPROTO_ICMP
  14. 让人耗尽脑汁的需求分析工作(转--Fireball)
  15. 局域网桌面共享软件(优化版)
  16. MCP3421高精度ADC转换器
  17. 触发器在计算机中的作用,d触发器的原理是什么_d触发器的功能及作用
  18. SLAM 中evo的使用(二) (evaluation of odometry) evo_traj/ape rpe/evo_ape说明与示例
  19. android fragmentmanager 界面报错,FragmentManager is already executing transactions异常
  20. 数据中台POC演示流程

热门文章

  1. centos7 redis5.0以前版本 部署集群示例 - 第二篇
  2. There is no configured/running web-servers found! Please, run any web-configuration and hit the Refr
  3. 【Java多线程】生产者消费者问题
  4. C语言:以scanf的使用为例,对缓冲区的理解
  5. Spring5参考指南: Resources
  6. java sort()怎么实现的_Java中Array.sort()的排序原理
  7. 10.completion_suggester
  8. 【解题报告】Leecode 423. 从英文中重建数字——Leecode每日一题系列
  9. 1034 Head of a Gang (30 分) One way that the police finds the head of a gang is to check people‘s pho
  10. 【详细注解】1020 Tree Traversals (25 分)