1.0.3 事务ACID

2019-02-08  本文已影响0人  RockyLuo_290f

Atomicity: 原子性

事务中所有操作时不可再分的原子单位,要么全部成功,要么全部失败

Consistency:一致性

事务执行后 数据库状态与其他业务规则保持一致,如转账业务,无论事务执行成功与否,参与转账的两个账号余额之和应该不变

Isolation:隔离性

并发操作中,不同事务之间应该隔离起来,是每个并发中的事务不会相互干扰

Durability:持久性

一旦事务提交成功,事务中所有的数据操作都必须被持久化到数据库中,即使提交事务后,数据库马上崩溃,重启后,也必须通过某种机制回复(存log)

事务并发读问题

脏读: 读取到另一个事务未提交数据
不可重复读: 两次读取不一致
幻读(虚读): 读到另一个事务已提交数据

四大隔离级别:

Tables 脏读 不可重复读 幻读
Read Uncommitted 允许 允许 允许
Read Committed 不允许 允许 允许
Repeatable Read 不允许 不允许 允许
Serializable 不允许 不允许 不允许

Oracle默认是read committed 可以选择Serializable
Mysql默认是Repeatable Read

上一篇下一篇

猜你喜欢

热点阅读