【发布时间】:2009-09-09 04:12:02
【问题描述】:
我有两个存储过程,其中一个被调用很多,因此非常简单并且执行得很好。此外,即使它们是可序列化的,它们实际上也可以很好地并行工作。
但是,我有第二个查询,它只在某些情况下被调用,在接触同一张表之前需要做更多的检查。问题是,当您并行运行这些程序时,最终会出现死锁,因为每个存储的 proc 以不同的顺序锁定。
我的问题是您能否强制给定的存储过程以特定顺序锁定以匹配您的重要查询?这样他们就不会死锁并很好地执行:)。
编辑: 作为澄清,我希望我的第二个程序做的是这个。
--Lock table1
--Lock table2
--Perform query.
【问题讨论】:
标签: sql sql-server tsql stored-procedures deadlock