内容简介:键锁影响与给定谓词(种类)匹配的所有行 – 在示例中,所有具有surname =’Jones’的行都将受到影响.使用单词“range”,因为根据谓词可能会影响行范围,例如,如果谓词为age> 18那么年龄大于18的所有行都会受到影响.同样重要的是要明白,键锁并不是简单地单独锁定索引中的每个匹配行 – 您的示例键锁不仅会影响索引中所有现有行的姓氏“Jones”,还会影响任何修改现有行的尝试或者插入一个名为“琼斯”的新行.
我知道钥匙锁在索引中锁定一个键.但是,“关键”究竟是什么意思呢?
例如,如果我在一个姓氏列上有一个非聚集索引,并尝试更新surname =“Jones”,那么我会有效地锁定姓氏是“Jones”的表中的每一行吗?或者将索引锁定在更高级别,阻止访问除“琼斯”以外的姓氏的行?
我问的原因是在线书籍关于锁定粒度和层次结构的这个注释:
KEY: A row lock within an index used to protect key ranges in serializable transactions.
这表明一系列的钥匙将被锁定,而不仅仅是一个.
键锁影响与给定谓词(种类)匹配的所有行 – 在示例中,所有具有surname =’Jones’的行都将受到影响.
使用单词“range”,因为根据谓词可能会影响行范围,例如,如果谓词为age> 18那么年龄大于18的所有行都会受到影响.
同样重要的是要明白,键锁并不是简单地单独锁定索引中的每个匹配行 – 您的示例键锁不仅会影响索引中所有现有行的姓氏“Jones”,还会影响任何修改现有行的尝试或者插入一个名为“琼斯”的新行.
它可能有助于以稍微不同的方式思考锁 – 只有当SQL Server尝试获得可能不兼容的另一个锁(即同时具有两个锁是不合法的)时,锁才有效果.例如,如果您在具有年龄>的行上拥有专属密钥锁定18,并尝试插入或修改age = 42的行,然后SQL Server将首先尝试获取相关锁 – 看到存在具有年龄>的行的现有密钥锁. 18 SQL Server确定锁是不兼容的,并采取相应的行动.
代码日志版权声明:
翻译自:http://stackoverflow.com/questions/6012911/what-resource-does-a-key-lock-actually-lock
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
密码学概论(中文版)
wade trappe、lawrence C.washington / 特拉普 / 人民邮电出版社 / 2004-6-1 / 38.00
本书全面讲解了密码学基本知识以及相关的基础数学理论,介绍了椭圆曲线、AES和量子密码体制等密码学前沿知识,详细地阐述了数字签名、数字现金等应用问题。另外,书中每章均给出了相应的习题,在附录中给出了相关Mathematica、Maple和 MATLAB实例。 本书可供高等院校就用数学、通信和计算机等专业用作密码学、通信安全和网络安全等课程的教材或参考书,也可供信息安全系统设计开发人......一起来看看 《密码学概论(中文版)》 这本书的介绍吧!