-
事务:
逻辑上的一组操作,组成这组操作的各个单元,要么全都成功,要么全都失败。
-
事务的特性
原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)原子性:事务不可分割 一致性:事务执行前后数据完整性保持一致 隔离性:一个事务的执行不应该受到其他事务的干扰 持久性:一旦事务结束,数据就持久化到数据库
-
如果不考虑隔离性引发安全性问题
-
读问题
脏读 :一个事务读到另一个事务未提交的数据 不可重复读 :一个事务读到另一个事务已经提交的update的数据,导致一个事务中多次查询结果不一致 虚读、幻读 :一个事务读到另一个事务已经提交的insert的数据,导致一个事务中多次查询结果不一致。
-
写问题
丢失更新 -
解决读问题
-
设置事务的隔离级别
Read uncommitted :未提交读,任何读问题解决不了。 * Read committed :已提交读,解决脏读,但是不可重复读和虚读有可能发生。 * Repeatable read :重复读,解决脏读和不可重复读,但是虚读有可能发生。 Serializable :解决所有读问题。
-