14.2.3 InnoDB Redo Log
2016-06-03 16:07
330 查看
<pre name="code" class="sql"><pre name="code" class="html">14.2.3 InnoDB Redo Log 14.2.3.1 Group Commit for Redo Log Flushing redo log 是一个基于磁盘的数据结构 用于crash recovery到正确的数据(被不完全的事务写入的) 在正常操作期间,redo log 可以让查询改变InnoDB表的数据, 由SQL语句或者行级别的API 调用产生。 修改没有完成更新数据文件前一个意外的关机被自动重现 在初始化期间,在接收连接前。 默认的,redo log 是物理的表现在磁盘上的一组文件, 叫做b_logfile0 and ib_logfile1. MySQL 写redo log 文件以一个循环的方法。 redo log里的数据是编码成根据改变的行; 这些数据是被收集称为redo. redo log 的磁盘布局使用下面的选项配置: 1.innodb_log_file_size: 定义每个redo log 文件的大小 单位字节,默认redo log 文件是48MB。 log 文件的组合大小是(innodb_log_file_size * innodb_log_files_in_group) 不能超过最大值 512G mysql> show variables like '%innodb_log%'; +-----------------------------+-----------+ | Variable_name | Value | +-----------------------------+-----------+ | innodb_log_buffer_size | 8388608 | | innodb_log_compressed_pages | ON | | innodb_log_file_size | 536870912 | | innodb_log_files_in_group | 2 当前数据库redo 文件大小为512M innodb_log_files_in_group: log group 里的log files 的数目,默认是创建2个文件叫做ib_logfile0 and ib_logfile1. innodb_log_group_home_dir: InnoDB log files的目录path.如果你不指定一个指, log 文件会被创建在MySQL 数据目录(datdir) 改变你的初始redo log 配置 14.2.3.1 Group Commit for Redo Log Flushing InnoDB, 像任何其他遵循ACID数据库引擎, flushes 事务的redo log 在它提交前, InnoDB 使用group 提交功能 多个flush 请求在一起 以组为单位来避免每个提交都flush. 使用group 提交,InnoDB 执行一个单独写 log file 执行提交动作 队伍多个用户事务提交在同一时间, 大大改善性能。
相关文章推荐
- 原创-兼容IE8的placeholder
- Jira和Confluence集成Crowd实现SSO-构建高效的团队协作工具
- JS 对象与数组的变化监听
- leetcode Remove Duplicates from Sorted List II
- Python 运算符
- 自定义委托
- UNIX网络编程笔记(4)—TCP客户/服务器程序示例
- 华为机试---计算日期到天数转换
- ionic提示/usr/bin/env: node: 没有那个文件或目录
- MyBatis转义
- version `GFORTRAN_1.4' not found (required by /usr/lib/liblapack.so.3) 问题的解决方案
- Ionic如何实现下拉刷新与上拉加载功能
- Spring整合JMS基于ActiveMQ实现
- Java HtmlEmail 邮件发送的简单实现代码
- 重构
- sqlite的数据库
- 谈论谋略
- POJ 1743 后缀数组不重叠最长重复子串
- cordova + ionic 使用中碰到的一些问题
- git与github使用(4)