事务并发执行带来的问题 ●可能会存取和存储不正确的数据,破坏事 务的隔离性和数据库的一致性 ●DBMS必须提供并发控制机制 ●并发控制机制是衡量一个DBMS性能的重要 标志之一
事务并发执行带来的问题 ⚫ 可能会存取和存储不正确的数据,破坏事 务的隔离性和数据库的一致性 ⚫ DBMS必须提供并发控制机制 ⚫ 并发控制机制是衡量一个DBMS性能的重要 标志之一
8.1并发控制概述 并发控制机制的任务 ●对并发操作进行正确调度 ●保证事务的隔离性 ●保证数据库的一致性
8.1 并发控制概述 ⚫ 并发控制机制的任务 ⚫ 对并发操作进行正确调度 ⚫ 保证事务的隔离性 ⚫ 保证数据库的一致性
数据不一致实例:飞机订票系统 事务T1事务Tz ①读A=16 读A=16 ③A←A-1 写回A=15 A←A-3 写回A=13 T1的修改被T2覆盖了!
T1的修改被T2覆盖了! 读A=16 A←A-3 写回A=13 ① 读A=16 ② ③ A←A-1 写回A=15 ④ 事务 T1 事务 T2 数据不一致实例:飞机订票系统
并发操作带来的数据不一致性 ●丢失修改( lost update) 不可重复读( non-repeatable read) ●读“脏”数据( dirty read)
并发操作带来的数据不一致性 ⚫ 丢失修改(lost update) ⚫ 不可重复读(non-repeatable read) ⚫ 读“脏”数据(dirty read)
1.丢失修改 丢失修改是指事务1与事务2从数据库中读 入同一数据并修改 事务2的提交结果破坏了事务1提交的结果, 导致事务1的修改被丢失
1. 丢失修改 丢失修改是指事务1与事务2从数据库中读 入同一数据并修改 事务2的提交结果破坏了事务1提交的结果, 导致事务1的修改被丢失