• 锁兼容性


    锁兼容性控制多个事务能否同时获取同一资源上的锁。如果资源已被另一事务锁定,则仅当请求锁的模式与现有锁的模式相兼容时,才会授予新的锁请求。如果请求锁的模式与现有锁的模式不兼容,则请求新锁的事务将等待释放现有锁或等待锁超时间隔过期。例如,没有与排他锁兼容的锁模式。如果具有排他锁(X 锁),则在释放排他锁(X 锁)之前,其他事务均无法获取该资源的任何类型(共享、更新或排他)的锁。另一种情况是,如果共享锁(S 锁)已应用到资源,则即使第一个事务尚未完成,其他事务也可以获取该项的共享锁或更新锁(U 锁)。但是,在释放共享锁之前,其他事务无法获取排他锁。

    下表显示了最常见的锁模式的兼容性。

     

     现有授予模式     

    请求模式

    IS

    S

    U

    IX

    SIX

    X

    意向共享 (IS)

    共享 (S)

    更新 (U)

    意向排他 (IX)

    意向排他共享 (SIX)

    排他 (X)

    ms186396.note(zh-cn,SQL.90).gif注意:
    意向排他锁(IX 锁)与 IX 锁模式兼容,因为 IX 表示打算只更新部分行而不是所有行。还允许其他事务尝试读取或更新部分行,只要这些行不是其他事务当前更新的行即可。

    使用下表可以确定 Microsoft SQL Server 2005 中所有可用的锁模式的兼容性。

    显示锁兼容性矩阵的关系图
     
  • 相关阅读:
    ROW_NUMBER() OVER函数的基本用法
    oracle 中的next_day函数
    宽带大小与实际网速的关系:
    ora-29280 invalid directory path
    [spring]Attribute "scope" must be declared for element type "bean"
    什么是JDK,JRE,SDK,JVM以及API
    管理的常识: 让管理者发挥绩效的7个基本概念 读书笔记
    lua __index的简写
    lua中设置table={}时需要注意的坑
    摄像机旋转
  • 原文地址:https://www.cnblogs.com/qanholas/p/2291962.html
Copyright © 2020-2023  润新知