锁定模式

Vertica 具有不同的锁定模式,这些锁定模式决定了锁在对象上如何发挥作用。每个锁定模式都具有一种锁定兼容性和锁定强度,反映了它在同一个环境中如何与其他锁交互。

锁兼容性

锁兼容性是指两个锁能在同一个对象上同时生效。

锁兼容性一览表

此一览表显示了哪些锁可在同一个对象上同时使用。

当锁定模式在标有项目符号 (•) 的单元格中相交时,它们兼容。如果请求的两个模式在空单元格相交,那么在第一个请求释放锁之前,不会向第二个模式授予锁。

锁升级一览表

此一览表显示了对象锁如何响应 INSERT 请求。

如果对象具有一个 S 锁,而您希望执行 INSERT,您的事务将请求 SI 锁。但是,如果某个对象具有 S 锁,而您希望执行要求 S 锁的操作,则不会发出锁定请求。

锁强度

锁强度是指一个锁定模式与另一个锁定模式交互的能力。O 锁是最强的锁,并且与所有其他锁不兼容。相反,U 锁是最弱的锁,可以与除 O 锁之外的所有其他锁同时运行。

下图描述了锁定模式的强度:

另请参阅: