【问题标题】:SQL Server Query Issue - Can't Access RowsSQL Server 查询问题 - 无法访问行
【发布时间】:2011-05-23 19:53:09
【问题描述】:

由于某种奇怪的原因,当尝试访问表的最后 100 条记录时,SQL Server MS 会不停地旋转,并且需要很长时间才能查询结果。选择前 100 条记录返回的速度非常快(1 秒)。知道会发生什么吗?行锁还是别的什么?

这真的很奇怪。

谢谢。

【问题讨论】:

  • 会想到行锁。您可以通过尝试nolock 提示或在查询被阻止时查看sys.dm_os_waiting_tasks 轻松确认这一点。

标签: sql-server sql-server-2008-r2 ssms


【解决方案1】:

听起来好像另一个 pid 有一个打开的事务,在您尝试读取的表上持有锁。

在另一个 SSMS 窗口中尝试运行 DBCC OPENTRAN(如果这是一个更高容量的系统,请查看选项。

编辑

为@Martin 的评论+1 .... 在您的查询中添加nolock 提示,以便进行快速而肮脏的测试。

SELECT ID
FROM MyTable WITH (nolock)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-27
    • 1970-01-01
    • 2014-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多