1 多个事务并发运行时的并发问题
- 第一类丢失更新:撤销一个事务时,把其他事务已提交的更新数据覆盖;
- 脏读:一个事务读到另一个事务未提交的更新数据;
- 虚度:一个事务读到另一个事务已提交的新插入的数据;
- 不可重复读:一个事务读到另一事务已提交的更新的数据;
- 第二类丢失更新:(不可重复读特例)提交一个事务时,覆盖另一个事务已提交的更新事务。
2 锁机制保证事务隔离性
对select用共享锁,insert、update或delete采用独占锁。
3 数据库的事务隔离级别
- Serializable:串行化
- Repeatable Read :可重复读
- Read Commited:读已提交的数据(最常用)
- Read Uncommited :读未提交的数据
各隔离级别所避免的并发问题如图3-1所示: