意向锁及相容矩阵的理解

Posted ysl-unh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了意向锁及相容矩阵的理解相关的知识,希望对你有一定的参考价值。

意向锁

  要了解意向锁,必须先讲一下对某一数据对象加锁时系统的检查内容:
  1. 先检查该数据对象上有无显式封锁与之冲突。
  2. 检查要加到该对象上的锁是否与对象上的隐式封锁(由于上级结点已加的封锁造成的)冲突。
  3. 检查该数据对象的所有下级结点,看它们的显式封锁是否与将加到它们上的封锁(隐式封锁)冲突。
  显然这种检查方法的效率很低,所以需要引进新的锁——意向锁。

意向锁含义:如果对一个结点加意向锁,则说明该结点的下层结点正在被封锁;对任一结点加锁时,必须先对它的上层结点加意向锁。

意向锁作用:提高对某个数据对象加锁时系统的检查效率。有了意向锁,数据库管理系统就不用逐个检查下级结点的显式封锁。

相容矩阵

  技术图片

  需要注意的几点:
  1. T1加S,T2加IX不相容,因为IX对子结点意向加X锁(有可能性),这与子节点的隐式封锁冲突。
  2. T1加IS,T2为IX/SIX都相容,因为它们都只是“意向”,还没有真冲突。

以上是关于意向锁及相容矩阵的理解的主要内容,如果未能解决你的问题,请参考以下文章

22矩阵——向量范数和矩阵范数 : 矩阵范数与向量范数的相容Numpy计算范数

Innodb中的意向锁和double write认识

实验10相容问题

矩阵的F-范数 的作用?

什么是分布式锁及正确使用redis实现分布式锁

什么是分布式锁及正确使用redis实现分布式锁