数据库并发控制中死锁解除的实现方法.PDF
文本预览下载声明
184 福建 电脑 2006年第7期
数据库并发控制中死锁解除的实现方法
张一品
(许昌学院计算机系河南许昌 461000)
server数据
【摘 要】:基于并发访问控制理论,首先简要介绍了sQLsenrer数据库的封锁与死锁,然后论述了预防sQL
库死锁的若干策略和方法,最后分析并讨论了几个典型的易导致死锁的SQL程序及其解决办法。
senrer
【关键词】:并发;封锁;死锁;预防;sQL
O.引言 Server
式锁定资源期间是否允许其他事务再锁定该资源。SQL
随着对分布式数据库的深入研究与广泛应用.用户对数据 锁模式相容矩阵如表1所示.表中打”、/”表示请求的锁模式与当
库系统的吞吐量要求越来越高.因此在多用户模式下对数据库 前锁定模式相容。各种资源锁定模式的兼容性如表所示
操作的并发控制显得尤为重要。基于封锁的并发控制机制是 请求镄定模式
当前锁定模式
目前商用大型数据库普遍采用的保证数据一致性的措施。一般 S IS U X lI SIISch_IlSch—S 脚
共享锁(s】 / / / /
情况下,SQLServer数据库采用基于锁的悲观并发控制,仅在使
意向共享锁(Is) / ~/ / / / ~/
用游标时可以选择乐观并发机制。 更新锁【u) √ ~/ /
了解和掌握数据库的封锁机制.主要有以下两方面作用:其 排他锁(x) /
一,当具体应用对数据安全性、数据库完整性和一致性有特殊要 意向排他镄(Ix) ~/ / /
共事式捧他意向锁(sIn ~/ /
求时必须自行控制数据库的锁定与解锁:其二,有助于预防和解
模武更新镄(sc州
决应用系统中出现的数据库死锁问题。 / / / ’/ √ / ~/
模式稳定镄(sch-s)
1.并发控制理论 批量更新镄(Bu) /
表l server数据库锁模式相容矩阵
1.1事务口ransaction) SQL
事务是一个工作单元.一个事务内所有的语句被作为不可 2.2数据库死锁
分割的整体执行,遇到错误或系统故障时。事务可以回滚fRoⅡ. 在多用户环境下.数据库系统出现死锁现象是难免的。死锁
是一种可能发生在任何多线程系统中的状态。当不同用户分别
Back),取消事务内所作的改变,保证数据的一致性、完整性和可
显示全部