意向锁及相容矩阵的理解
作者:互联网
意向锁
要了解意向锁,必须先讲一下对某一数据对象加锁时系统的检查内容:
1. 先检查该数据对象上有无显式封锁与之冲突。
2. 检查要加到该对象上的锁是否与对象上的隐式封锁(由于上级结点已加的封锁造成的)冲突。
3. 检查该数据对象的所有下级结点,看它们的显式封锁是否与将加到它们上的封锁(隐式封锁)冲突。
显然这种检查方法的效率很低,所以需要引进新的锁——意向锁。
意向锁含义:如果对一个结点加意向锁,则说明该结点的下层结点正在被封锁;对任一结点加锁时,必须先对它的上层结点加意向锁。
意向锁作用:提高对某个数据对象加锁时系统的检查效率。有了意向锁,数据库管理系统就不用逐个检查下级结点的显式封锁。
相容矩阵
需要注意的几点:
1. T1加S,T2加IX不相容,因为IX对子结点意向加X锁(有可能性),这与子节点的隐式封锁冲突。
2. T1加IS,T2为IX/SIX都相容,因为它们都只是“意向”,还没有真冲突。
标签:封锁,结点,加锁,检查,矩阵,相容,意向锁,显式 来源: https://www.cnblogs.com/ysl-unh/p/10986792.html