我现在有一个网站正在运行。我正在使用Subsonic来处理数据库连接等。 我在更新表(比如Employee)时得到的时间已经过期了。当我检查sp_who2时,我看到PID的暂停连接正在通过anothor pid用块更新,所以我运行探查器并发现当这个暂停连接发生时,阻塞的pid是视图上的select语句(比如说) ActiveEmployees,与表相同,但有一些条件)。
任何人都知道为什么视图上的Select语句可能导致更新失败。如果是其他(如因更新选择失败)可能是合理的。 有没有办法让我在不锁定桌子的情况下对视图进行选择?
PS:我使用的是Sql server 2005和亚音速2.2。
答案 0 :(得分:0)
如果您不关心返回数据的准确性(可能会返回未提交的行),您可以使用(nolock)提示添加到视图中的select语句。 当select语句扫描其他线程插入的表时,我们也遇到了超时。我通过添加select选项使用的适当索引解决了这个问题。