我了解表锁如何与其他表锁交互,以及行锁如何与其他行锁交互,但我不完全了解表锁如何与行锁交互。
例如,进程a更新表t中的某些行,因此获取一个ROW EXCLUSIVE锁。同时,假设进程b获取另一行上的FOR NO KEY UPDATE行锁。会处理一个块进程B吗?
一般来说,表锁如何与行锁交互?

最佳答案

表锁与行锁完全不交互。
在操作开始之前采取表锁,以防止在表范围级别上发生冲突活动(例如,删除其他人正在使用的表)。
行锁在处理行时被接受。例如,它们防止对同一行进行并发更新,而并发事务完全可以同时更新同一表中的不同行。

09-16 17:05