- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
8.3.2锁的类型如果并发问题不加以控制,就可能发生读取和写入不正确的数据,而破坏事务的一致性。SQLServer使用锁机制来同步多个用户同时对同一个数据的访问。通过使用不同的锁模式锁定资源,这些锁模式确定了并发事务访问资源的方式。SQLServer下的锁模式有多种,下面主要介绍共享锁、排他锁、更新锁。实现并发控制的一个重要技术是封锁机制,其基本思想是:事务T在对某个数据对象(如表、记录等)操作之前,先向DBMS发出请求,申请对该数据对象加锁。当得到锁后,才可对该数据对象进行相应的操作,在事务T释放锁之前,其他事务不能更新此数据对象。DBMS通常提供了多种类型的封锁。一个事务对某个数据对象加锁后究竟拥有什么样的控制是由封锁的类型决定的。按锁的功能,一般将锁分为如下几类。1.封锁类型(1)共享(S)锁共享锁又称为读锁,一个事务T要读取数据对象A首先必须对A加共享锁,然后才能读A,一旦读取完毕,便释放A上的共享锁,除非将事务隔离级别设置为可重复读或更高级别,或者在事务生存周期内用锁定提示保留共享锁。当一个数据对象上已存在共享锁时,其他事务可以读取数据,但不能修改数据。7.2.2封锁(3)更新(U)锁当一个事务T对数据对象A加更新锁,首先对数据对象做更新锁锁定,这样数据将不能被修改,但可以读取,等到执行数据更新操作时,自动将更新锁转换为独占锁,但当对象上有其他锁存在时,无法对其作更新锁锁定。(2)排他(X)锁排他锁又称为独占锁、写锁,一个事务T要更改数据对象A首先必须对A加排他锁,然后才能读或更改A,在T释放A上的排他锁之前,其他任何事务不能读取或更改A。对于数据库中的数据对象,可用如图7.5所示的层次树表示。01意向锁表示一个事务为了访问数据库对象层次结构中的某些底层资源(如表中的元组)而加共享锁或排他锁的意向。意向锁可以提高系统性能,因为DBMS仅在表级检查意向锁就可确定事务是否可以安全地获取该表上的锁,而无须检查表中每个元组的锁来确定事务是否可以锁定整个表。意向锁包括意向共享(IS)、意向排他(IX)及意向排他共享(SIX)。02(4)意向锁7.2.2封锁意向共享(IS)锁:如果对一个数据对象加IS锁,表示拟对它的后裔节点加S锁,读取底层的数据。例如,若要对某个元组加S锁,则首先应对元组所在的关系或数据库加IS锁。意向排他(IX)锁:如果对一个数据对象加IX锁,表示拟对它的后裔节点加X锁,更新底层的数据。例如,若要对某个关系加X锁,以便插入一个元组,则首先应对数据库加IX锁。意向排他共享(SIX)锁:如果对一个数据对象加SIX锁,表示对它加S锁,再加IX锁,即SIX=S+IX。例如,对某个表加SIX锁,则表示该事务要读整个表(所以要对该表加S锁),同时会更新个别元组(所以要对该表加IX锁)。表7.1锁类型及其作用锁模式描述共享(S)用于只读操作,如SELECT语句更新(U)用于可更新的资源中,防止当多个会话在读取、锁定及随后可能进行的资源更新时发生常见形式的死锁排他(X)用于数据修改操作,如INSERT,UPDATE或DELETE,确保不会同时对同一资源进行多重更新意向用于建立锁的层次结构,意向锁的类型为意向共享(IS)、意向排他(IX)及意向排他共享(SIX)表7.1给出了上述封锁类型的作用。有些锁之间是相容的,如共享锁和更新锁;有些锁之间是不相容的,如共享锁和排他锁。表7.2列出了各种锁之间的相容性。表7.2各种锁之间的相容性锁模式ISSUIXSIXXIS相容相容相容相容相容不相容S相容兼容相容不相容不相容不相容U相容相容不相容不相容不相容不相容IX相容不相容不相容相容不相容不相容SIX相容不相容不相容不相容不相容不相容X不相容不相容不相容不相容不相容不相容当一个事务T申请对数据对象A加锁时,若该数据对象上已加了锁,新加的锁必须满足表7.2中锁的相容性。不同的DBMS支持的锁类型可能不同,例如,对于SQLServer共有6种锁类型,分别是:共享、更新、排他、意向、架构和大容量更新,所以针对具体的DBMS,应参考其使用手册。2.封锁粒度被锁定的对象的数据量称为封锁粒度。封锁对象可以是逻辑单元,也可以是物理单元。以关系数据库为例,封锁对象可以是行、列、索引项、页、扩展盘区、表和数据库等。封锁粒度不同,系统的开销将不同,并且锁定粒度与数据库访问并发度是矛盾的,锁定粒度大,系统开销小但并发度会降低,且对DBMS来说内部管理更简单;锁定粒度小,系统开销大,但可提高并发度。选择封锁
您可能关注的文档
- 水保监督管理基本内容.ppt
- 校园水净化及重复利用项目简介.ppt
- 游泳教学理论与方法.ppt
- 挤压综合征的护理.ppt
- 执行力保障学.ppt
- 最新理解性默写《赤壁赋》.ppt
- 春小麦品系比较鉴定毕业答辩.ppt
- 材料物理与力学性能光学.ppt
- 招商部季度工作计划总结.ppt
- 把下面的句子排成一段通顺的话.ppt
- 2024年陕西咸阳亨通电力(集团)有限公司供电服务业务部直聘用工招聘145人笔试参考题库附带答案详解 .docx
- 2024年中建四局土木工程有限公司校园招聘笔试参考题库附带答案详解 .docx
- 2024年四川雅茶贸易有限公司公开招聘和考察聘用人员3人笔试参考题库附带答案详解 .docx
- 2024年中国烟草总公司辽宁省公司公开招聘拟录用人员(166人)笔试参考题库附带答案详解 .docx
- 2024江苏连云港中诚物业管理有限公司招聘工作人员1人笔试参考题库附带答案详解 .docx
- [毕节]2025年贵州毕节市引进人才649人笔试历年参考题库附带答案详解.docx
- 2024年度中国东航技术应用研发中心有限公司校园招聘笔试参考题库附带答案详解 .docx
- 2024年福建省厦门盐业有限责任公司春季人才招聘1人笔试参考题库附带答案详解 .docx
- 2024年山东省环保发展集团绿能有限公司职业经理人招聘2人笔试参考题库附带答案详解 .docx
- 2024年安徽滁州郊源阳光电力维修工程有限责任公司招聘41人(第一批次)笔试参考题库附带答案详解 .docx
最近下载
- 2023年山东省临沂市中考物理测试试卷及解析.pdf VIP
- 统编版《道德与法治》一年级下册教案.pdf VIP
- 部编版小学道德与法治四年级教材解读及教学建议.pptx
- Unit 5 First Aid Reading and Thinking教学设计-2023-2024学年高中英语人教版选择性必修第二册.docx
- (2025春新版本)部编版一年级语文下册全册教案.pdf
- 《MSA测量系统分析》课件.ppt VIP
- 2024年江西工业职业技术学院单招职业技能测试题库标准卷.docx VIP
- 中职英语新课标词汇表.doc
- 2025年江苏安全技术职业学院单招职业适应性测试题库及1套完整答案.docx VIP
- 积极心理学全套课件.ppt VIP
文档评论(0)