Mar*_* N. 6 performance index sql-server sql-server-2008-r2
这个问题很简单,正如标题所说。但是,我找不到任何参考资料来证实或反驳这一点。
导致我提出这个问题的问题是我有一个视图加入了其他几个视图和表。其中一个表(我们称之为表 A)在连接条件中的列上没有覆盖非聚集索引,而是发出聚集索引扫描。
结果是所有其他也使用表 A 并使用聚集索引扫描的查询在第一个查询之后等待(还没有死锁,因为我有一个很大的超时)。一旦我在表 A 上为连接列创建了非聚集索引,聚集索引就不再使用,查询开始并行正常工作。
无论如何,如果我的假设是正确的,有没有办法检测到锁?我还没有尝试启用任何与锁定相关的跟踪标志?我现在只使用了“sp_who2”和其他一些在这里找到的查询。
如果你以前偶然发现过这个,那么请分享你的想法。
还有很多很多因素在起作用。
我建议您按照捕获单个操作的等待统计中描述的过程来捕获您观察到的扫描的等待统计为阻塞。如果它们确实阻塞了表扫描操作持有的锁,那么它们是否会阻塞。如果场景确实如您所描述的那样(读取扫描与其他读取操作),那么就没有理由阻塞,所以其他东西会起作用。您还可以尝试 sp_whoisactive 。
| 归档时间: |
|
| 查看次数: |
4557 次 |
| 最近记录: |