Sql server 更新查询中的数据库锁

Sql server 更新查询中的数据库锁,sql-server,locking,Sql Server,Locking,我需要你的帮助。我有一个表,在同一秒内select查询超过1000。当我试图在一条记录中进行更新时,“选择查询”将停止,直到更新完成。此过程最多持续2-5分钟。这张表中似乎有一些locκs。你能帮我吗 谢谢,, bk您在哪种交易选项下运行选择查询? 如果您可以读取未提交的数据,还可以在select查询中使用NOLOCK。 看看这根线 也许您的更新确实需要一些额外的字段索引。另外,考虑在部分中分割更新。< /p>你使用什么系统?SQL Server、Oracle、MySQL?是的,很可能是因为锁。

我需要你的帮助。我有一个表,在同一秒内select查询超过1000。当我试图在一条记录中进行更新时,“选择查询”将停止,直到更新完成。此过程最多持续2-5分钟。这张表中似乎有一些locκs。你能帮我吗

谢谢,,
bk

您在哪种交易选项下运行选择查询? 如果您可以读取未提交的数据,还可以在select查询中使用NOLOCK。 看看这根线

也许您的更新确实需要一些额外的字段索引。另外,考虑在部分中分割更新。< /p>你使用什么系统?SQL Server、Oracle、MySQL?是的,很可能是因为锁。你需要提供以下信息,然后人们才能给出正确的答案。您的事务隔离级别是什么,select查询看起来像什么,表DDL是什么,有多少索引,update语句是什么,等等。您还可以自己检查DMV(sp_who2),查看是什么阻止了您的update查询?您尝试过什么?您不应该在生产代码中使用NOLOCK。除了获取未提交的数据外,您还面临无法获取已提交数据的风险。看到这正是我所说的,请仔细阅读我的评论,然后再评论。“如果您可以读取未提交的数据”,您的陈述仍然不正确。正确的注释应该是“如果您可以读取未提交的数据,但可能无法获取已提交的数据。”