数据库原理及应用(MySQL版)课件 第六章 事务与并发控制.ppt

数据库原理及应用(MySQL版)课件 第六章 事务与并发控制.ppt

2.基本锁的相容矩阵 请 求 锁 相 容 性 持 有 锁 S X — S X — Y N Y N N Y Y Y Y X、S、—:分别表示X锁、S锁、无锁 3.锁的粒度 封锁对象的大小称为封锁粒度(Lock Granularity)。封锁的对象可以是字段、记录、表、数据库等逻辑单元;也可以是页(数据页或索引页)、块等物理单元。 封锁粒度与系统的并发度和并发控制的开销密切相关。 在实际应用中,选择封锁粒度应同时考虑封锁机构和并发度两个因素,对系统开销与并发度进行权衡,以求得最优的效果。一般来说,需要处理大量元组的用户事务可以以关系为封锁单元;而对于一个处理少量元组的用户事务,可以以元组为封锁单位以提高并发度。 6.4.2 封锁协议 在运用封锁机制时,还需要约定一些规则,例如,何时开始封锁、封锁多长时间、何时释放等,这些封锁规则称为封锁协议(Lock Protocol)。 1.一级封锁协议 一级封锁协议内容:事务T在修改数据对象之前必须对其加X锁,直至事务结束。 一级封锁协议解决了数据丢失更新(写-写冲突导致)问题。但不能防止读脏数据和不可重复读的情况。 【例6-6】利用一级封锁协议解决表6-1中的数据丢失更新问题。 时间 事务T1 A的值 事务T2 t0 Xlokc A t1 R(A) 1

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档