Atomicityinnodb的原子性主要是通过提供的事务机制实现,与原子性相关的特性有:
Autocommit 设置 。
COMMIT 和 ROLLBACK 语句(通过 Undo Log实现) 。
Consistencyinnodb的一致性主要是指保护数据不受系统崩溃影响,相关特性包括:
InnoDB 的双写缓冲区(doublewrite buffer) 。
InnoDB 的故障恢复机制(crash recovery) 。
Isolation
innodb的隔离性也是主要通过事务机制实现,特别是为事务提供的多种隔离级别,相关特性包括:
- Autocommit设置 。
- SET ISOLATION LEVEL 语句 。
- InnoDB 锁机制 。
- Redo log 。
- 双写缓冲功能 。可以通过配置项 innodb_doublewrite 开启或者关闭 。
- 配置 innodb_flush_log_at_trx_commit 。用于配置innodb如何写入和刷新 redo 日志缓存到磁盘 。默认为1,表示每次事务提交都会将日志缓存写入并刷到磁盘 。innodb_flush_log_at_timeout 可以配置刷新日志缓存到磁盘的频率,默认是1秒 。
- 配置 sync_binlog 。用于设置同步 binlog 到磁盘的频率,为0表示禁止MySQL同步binlog到磁盘,binlog刷到磁盘的频率由操作系统决定,性能最好但是最不安全 。为1表示每次事务提交前同步到磁盘,性能最差但是最安全 。MySQL文档推荐是 sync_binlog 和 innodb_flush_log_at_trx_commit 都设置为 1 。
- 操作系统的 fsync 系统调用 。
- UPS设备和备份策略等 。
【为什么别人能用好 MySQL?万字详解其复杂原理】
推荐阅读
- 喝什么样的花茶能养出女人好气色,花茶的感官鉴赏
- 喝什么花茶能减肥,喝玫瑰花茶有什么好处
- 喝山楂茶是能减肥的是吗,孕妇能喝菊花茶吗
- 菊花茶什么样的人不能喝,喝菊花茶的好处
- 喝玫瑰花茶能丰胸吗,孕妇能喝菊花茶吗
- 玫瑰花冠茶怎么泡,孕妇能喝玫瑰花茶吗
- 蒲公英和玫瑰花茶隔夜能喝吗,孕妇能喝玫瑰花茶吗
- 菊花茶去火吗,孕妇能喝菊花茶吗
- 过世的人的照片能留吗?
- 为什么说韭菜尽量少吃?
