- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
键范围锁定插入操作在事务中插入值时,在事务执行插入操作期间不必锁定值所属的范围。锁定插入的键值直至事务结束INSERTmytableVALUES(Dan) RangeI_N模式键范围锁放置在对应于名字David的索引项上以测试范围。如果已授权锁定,则插入Dan,并且排它(X)锁放置在值Dan上。RangeI_N仅对测试范围必需,而不在执行插入操作的事务期间保留。其它事务可以在Dan的前后插入或删除值。任何试图读取、插入或删除值Dan的事务将被阻塞,直到插入的事务提交或回滚为止锁的实现read(D)ifTi持有D上的锁 then read(D) else begin 如果需要,等待直到没有其它 事务在D上的X锁 授予TiD上的S锁 read(D) end锁的实现write(D)ifTi持有D上的X锁 then write(D) else begin 如果需要,等待直到没有其它 事务在D上的任何锁 如果TiD持有D上的S锁 then upgrade(D) else 授予TiD上的X锁 write(D) end锁的实现锁管理器事务向锁管理器发送封锁的申请和释放请求锁管理器维护一个锁表记录锁的授予情况和处于等待状态的封锁请求锁表锁表一般作为内存中的hash表,按被封锁对象的名字建立索引锁的实现黑矩形表示已被授予的锁,白色表示等待的封锁请求锁表同时记录锁的类型新的封锁请求加到对应请求队列的末尾,当封锁请求与前面的锁相容时被批注释放封锁时请求从队列中删除并检查后续请求是否满足如果事务放弃,所有授予的和等待的锁请求都被删除为提高效率,锁管理器会记录每个事务持有锁的情况锁的实现如何看待锁封锁资源表“Authors”、页面23、码为“23812”的元组锁管理器对资源一无所知,它只是“memcmp()”资源类型资源详细数据数据库ID锁资源格式3256585ObjectID2:3286File#:Page#2:328:119File#:Page#:SlotonPage555锁的实现RID:8字节(File#,Page#,Slot#)除非删除或移到其他地方,否则RID保持不变;如果删除元组,RID可以重用RID可以作为封锁资源固定的RID聚集索引聚集索引行可以由唯一的聚集码标识聚集码可以作为封锁资源二级索引码位置指针(RID或聚集索引)二级索引码和位置可以作为封锁资源锁的实现3467910141346346734691014143734634679101413467Readcommitted锁在读完即刻释放,下次读取可能会遇到修改或删除的元组Repeatableread被读取的元组锁一直保持,下次读取可能会遇到插入的元组Repeatableread被读取的元组以及扫描的范围锁一直保持,避免往扫描范围内插元组锁的实现Adams66Lewis1Smith11码位置(聚集索引)聚集索引1LewisDanAdamsKim11SmithKen......6Adams6Hash0x033807FF9B2CAdamsAdams锁升级LockingcostConcurrencycostRowPageTableCost行锁代价高、并发度高表锁代价低、并发度低锁升级锁升级锁升级是将众多细粒度锁转换为较少的粗粒度的锁的过程,以削减系统开销当事务超过它的升级极限时,系统自动将行锁和页锁升级为表锁例如,当事务从表中请求行时,系统获取受影响的行上的锁,并在包含这些行的页和表或者索引上放置更高级别的意向锁。当事务控制的锁数量超过了它的极限时,系统将表上的意向锁更改为更强的锁(例如,将意向排它(IX)锁更改为排它(X)锁)。获取更强的锁后,表事务持有的所有页级锁和行级锁都被释放,从而削减锁的开销死锁(Deadlock)两个事务都封锁了一些数据对象,并相互等待对方释放另一些数据对象以便对其封锁,结果两个事务都不能结束,则发生死锁死锁--?Connection?1--?Connection?2USE?pubsWHILE?(1=1)BEGINBEGIN?TRANUPDATE?employeeSET?lname=Smith‘WHERE?emp_id=PMA42628M‘UPDATE?authorsSET?
您可能关注的文档
最近下载
- 《ISO∕IEC 42001-2023信息技术-人工智能-管理体系》解读和应用指导材料(雷泽佳2024A0).docx VIP
- 家庭亲密度与适应性量表.doc VIP
- 话剧剧本:哥本哈根.pdf
- 人教版数学三年级上册第5单元《倍的认识》二单元作业设计.pdf
- 考研英语(二)模拟试卷26(题后含答案及解析).pdf VIP
- 《饰面石材》课件.ppt VIP
- 老旧小区改造项目初步设计说明.docx VIP
- 中石油新疆销售有限公司克拉玛依分公司白碱滩综合能源站改扩建项目环境影响报告表.doc VIP
- 人工智能与科学之美智慧树知到期末考试答案章节答案2024年湘潭大学.docx VIP
- 矿产资源勘查实施方案评审意见书.doc VIP
原创力文档


文档评论(0)