例如,存在表A和表B,我需要在A中处理更新,然后B和我决定在使用期间对这两个表进行表锁(根据我的架构师的要求)。同时,另一个过程被调用,该过程先锁定B,然后锁定A。
这笔交易会完成吗?我有一种感觉,这是一个死锁,相当有把握,因为它没有释放任何资源…
发布于 2012-07-25 02:16:33
是。这种方法将以一个典型的循环死锁结束,正如前面提到的here
使用表级锁进行更新是一种过度杀伤力。这样做背后的理由是什么?如果您有正确的索引,将在键级获取锁,这有助于多个进程并发访问相关的表。
不过,最好的做法是尽可能以相同的顺序访问表。
https://stackoverflow.com/questions/11547041
复制相似问题