Pac*_*ier 8 mysql innodb locking transaction-log data-integrity
MySQL InnoDB 允许我们通过设置innodb_doublewrite = 0. 其他数据库似乎不允许调整此设置。
如果我们禁用双写缓冲,InnoDB 如何仍然能够保持数据完整性和ACID?
在什么情况下关闭 InnoDB 双写缓冲区是安全的?
Rol*_*DBA 12
我能想到的唯一情况是重新加载一个大的 mysqldump。为什么 ?
查看 InnoDB 的这个图示(Percona CTO Vadim Tkachenko)

从图中可以看出InnoDB Buffer Pool将脏页写入
.ibd 每个 InnoDB 表的文件关闭双写缓冲区将使 mysqldump 更快地在表中写入数据和索引页,因为它不必写入相同的16K 页写入 ibdata1。
生产服务器不应禁用双写缓冲区。如果您这样做是为了更快地加载数据(当然是在维护期间),请在重新加载 DB Server 后立即启用它。
换句话说,
innodb_doublewrite = 0到my.cnfSET GLOBAL innodb_fast_shutdown = 0;innodb_doublewrite = 0从my.cnfSET GLOBAL innodb_fast_shutdown = 0;| 归档时间: |
|
| 查看次数: |
23823 次 |
| 最近记录: |