我希望我的表不会被锁定。是否可以为存储过程中的所有表设置NO LOCK。如果我有很多这样的表,最好的方法是什么:
select * from t1
join t2 ..
join t3 .. with (nolock)
select * from t4
join t4 ..
join t5 etc...
with (nolock)
您可以在查询级别设置:
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
与NOLOCK一样,这允许脏读取。
如果脏读取是一个问题,您可以使用"隔离级别快照"进行研究:这将创建数据库的常规快照并将其用于计算。不利的一面是,此副本需要额外的内存。