是否在表变量中选择行会阻止源表上的游标锁定?

时间:2014-10-15 15:26:59

标签: sql sql-server-2008

我有几个报告,我发现需要通过游标逐行组装。

我知道游标在对表运行时通常不是一件好事,但如果我要为表变量创建游标会阻止可能发生的行锁吗?在大多数情况下,我已经找到了完全避免使用游标的方法,但是在几篇报道中没有找到解决方法。

1 个答案:

答案 0 :(得分:0)

游标是坏的原因是因为它们的恶劣性能,通常不是因为它们导致锁定(尽管这肯定是一个问题)。如果在表变量上使用游标,性能问题就不会消失,锁定仍然会发生,但是在表变量表上。唯一的区别是其他会话无法访问表变量,所以它们保证不会阻塞它,这就是它。总体性能可能仍会下降,因为您需要先将数据复制到表变量,但如果主要关注的是锁定,那么肯定会有所帮助。