SQL With Nolock

with nolock 相当于 READ UNCOMMITTED事务隔离级别.

注:
----------------------------------------------
READUNCOMMITTED      
       
    指定允许脏读。这表示不发放共享锁,也不遵守排它锁。允许脏读会导致更高的并发性,但会降低一致性。如果指定了       READUNCOMMITTED,就有可能读取未提交的事务,或读取在读取过程中回滚的一套页,因此可能出现错误信息。
----------------------------------------------

优点:
sql查询时使用with(nolock)是不锁定表,从而达到提高查询速度的目的。  

缺点:
NOLOCK 语句执行时可能读脏数据。

适用场景:
1、不需要经常变动的信息,如
2、允许脏数据存在的情况,如新闻数据信息。
3、数据量特别大的表,查询加上nolock可以大大提升性能和用户体验,当然,它是以牺牲数据一致性和安全性来提升性能的。

你可能感兴趣的:(sql)