【发布时间】:2014-09-27 07:24:15
【问题描述】:
我正在使用 Microsoft SQL Server。我知道它使用并行处理。但我想知道,说同一表上的两个更新查询X 变成死锁情况,第三个查询针对另一个表Y,因此 SQL 服务器将允许运行第三个查询,否则它将阻塞,直到 SQL 服务器恢复从僵局?我试图将场景放在图像中以获得更好的解释。
【问题讨论】:
-
如果我没记错的话,死锁将被释放,查询 3 将能够通过
-
@Steve 你的意思是查询 3 在服务器从死锁中恢复之前不会执行,对吧?
-
@VickyThakor 如果 tableX 中只有锁,则对 tableY 的查询将照常运行。锁定整个数据库实例以针对另一个表进行查询会完全降低性能。
-
我的意思是,一旦服务器通过终止查询 1 和 2 检测到死锁情况,它很可能会消除死锁情况
标签: sql sql-server deadlock