**事务的四种隔离级别**
1.原子性(atomicity):事务是一个完整的操作。事务的各步操作是不可分的;要么都执行、要么都不执
行。
2.一致性(consistency):当事务完成时,数据必须处于一致状态。
3.隔离性(isolation):对数据进行修改的所有并发事务是彼此隔离的,这表明事务必须是独立的,它不
应以任何方式依赖于或影响其他事务。
4.持久性(durability):事务完成后,它对数据库的修改被永久保存,事务日志能保持事务的永久性。
**事务的四种隔离级别?
隔离级别分为:**
- ReadUncommitted '读未提交'
- ReadCommitted '读提交'
- RepeatableRead '可以重复读'
- Serializable '序列化'
#事务是如何让通过日志来实现的(Redo)?
在'Innodb'存储引擎中,事务日志是通过'redo'和'innodb'的'存储引擎日志缓冲'(Innodb log
buffer)来实现的,当开始一个事务的时候,会记录该事务的'lsn(log sequence number)号';当事务
执行时,会往'InnoDB'存储引擎的日志的'日志缓存'里面'插入事务日志';当事务提交时,'必须将存储引
擎的日志缓冲写入磁盘'(通过innodb_flush_log_at_trx_commit来控制),也就是'写数据前,需要先
写日志'。这种方式称为'预写日志方式','innodb'通过此方式来保证'事务的完整性'。也就意味着磁盘上
存储的数据页和内存缓冲池上面的页是不同步的,是先写入'redolog',然后写入'datafile',因此是一
种'异步'的方式。通过 show engine innodb status\G;来观察之间的差距
.事务有几大特性?分别代表什么意思?
最新推荐文章于 2021-12-15 11:19:32 发布