代码之家  ›  专栏  ›  技术社区  ›  Ryan Gadsdon

隔离级别-SQL Server

  •  0
  • Ryan Gadsdon  · 技术社区  · 6 年前

    如果我使用

    SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
    

    我需要在事务中包装查询吗

    例如

    BEGIN TRANS
    SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
    SELECT * FROM
    T1
    COMMIT
    

    或者我可以做一个普通的查询吗?

    此外,是否有任何好处包括设置事务隔离级别读取未提交和与(nolock)。我知道一个用于表级别,一个用于整个连接级别。但是两者都有好处吗?

    例如:

        SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
        SELECT * FROM
        T1 WITH (NOLOCK)
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   JERRY    6 年前

    我们总是以读提交隔离级别执行插入、更新和删除事务的过程。如果我们需要来自任何表的脏数据,那么它会有所帮助。因为事务是用READ COMMITTED定义的,而表在联接查询中使用WITH(NOLOCK)返回脏读。