两次写是innodb的一个重要特性,目的是为了保证在异常down机或者没电的情况下,保证数据的安全可靠。一次是往内存的double write buffer中写,一次是在刷共享表空间的连续128个页。

为什么需要double write buffer?

innodb page一个页是64KB,而通常情况下都是一个页的一部分被修改,比如8KB,而其他的保持原状。而对于大多数Linux系统默认的block size是4KB,所以一个innodb page会被分成好多块,分别被刷

在没写入真正的ibd文件之前,double write buffer都是顺序写;当往ibd文件刷的时候才是离散写;查看double write运行情况可以用以下命令:

是否打开了double write:

show variables like "%double%";

查看double write的使用情况:

SHOW global STATUS LIKE "%innodb_dblwr%";

相当于每次write合并了Innodb_dblwr_pages_written/Innodb_dblwr_writes次Flush

当Innodb_dblwr_pages_written/Innodb_dblwr_writes 比例越大时说明DB的压力很小

关闭double buffer,在my.cnf中添加(生产中不建议这么做)

innodb_doublewrite=0

最新文章

  1. 初始JavaScript
  2. mvc 导出excel
  3. MySQL 利用SQL线程对Binlog操作
  4. 【Oracle】ORA-00257:archiver error. Connect internal only, until freed 错误的处理方法
  5. Android项目的目录结构
  6. 【笔记】select2的使用
  7. android初体验——HelloWord
  8. IIS8托管WCF服务
  9. Windows优化大师最新版 V7.99 Build 12.604发布
  10. POJ 1077 Eight
  11. Hough变换在opencv中的应用
  12. axios在vue中的简单配置与使用
  13. 页面性能优化-原生JS实现图片懒加载
  14. 如何高效地遍历 MongoDB 超大集合?
  15. 朗科32G TF卡的读写测试
  16. hive中的子查询改join操作(转)
  17. 基于TCP/IP协议的socket通讯server
  18. jzoj P1163 生日派对灯
  19. CentOS 6.3 + Subversion + Usvn 搭建版本管理服务器
  20. USACO 6.4 Electric Fences

热门文章

  1. mysql按条件查询当条件是数字的时候加不加引号是一样的。
  2. laravel-v4.0.9
  3. 面向对象编程(八)——this关键字
  4. Perl Print Win32 Console Windows 控制台 print Unicode 问题
  5. autorelease应用
  6. Perforce 使用笔记
  7. jQuery 扩展功能
  8. j2ee ehcache
  9. mysql的binlog安全删除
  10. Python条件循环判断