【发布时间】:2014-10-02 21:37:28
【问题描述】:
因此,我一直在研究更多使用其中一些的 SQL 服务器管理工具,我惊讶地发现简单的选择会阻塞自己并导致死锁。我做了一些研究,但我真的很惊讶这会发生。谁能澄清或解决为什么会发生这种情况?
我说的是一个简单的选择。
SELECT
ID
FROM
MainTable
WHERE
Name Like 'John Smith'
如果重要,请使用 Microsoft SQL Server Managment Studios。
【问题讨论】:
-
你怎么知道它自己死锁了?你能描述一下你实际看到的吗?
-
这本身不会导致死锁。
-
如果您在选择数据的同时插入数据库,您的查询可能会被选为死锁牺牲品。如果你不关心看到刚刚插入的数据,你可以在你的表名后面加上
with nolock,它会做一个“脏”读,不会出现死锁。 -
@Blorgbeard 我正在使用 SQL 诊断工具,而 Phil,要么我的工具在撒谎,要么你不正确......
-
您是否收到此语句返回的死锁受害者错误?查看您看到的表明这是死锁的信息会很有帮助,即错误消息或其他内容。
标签: sql sql-server database-deadlocks