开启事务后,在其中多次查询同一表会报错(运行超时)的解决办法

来源:互联网 发布:windows server 97 编辑:程序博客网 时间:2024/06/05 11:21

最近遇到这个问题,困扰了他们很久,就是在开启的事务中,要循环对某一个表进行查询,在查询第一次的时候,没有问题,当查询第二次的时候,就会等上n久,最后返回来“超时”,这是由于在事务开启后,对某一个表进行查询时,会对这个表添加锁,直到这个事务提交或回滚后,这个锁才能被去掉。

下面是解决方法,其实也挺简单的,就是加一句话而已:

在要查询的表的表名后,添加“with(nolock)”,就这样就可以避免事务查询表时,对表添加锁。

写全面就是:select * from 表名 with(nolock) where ...

原创粉丝点击