zoukankan      html  css  js  c++  java
  • SQL 事务隔离级别

     隔离级别用于决定如何控制并发用户如何读写数据的操作,同时对性能也有一定的影响作用。

    事务隔离级别通过影响读操作来间接地影响写操作;可以在回话级别上设置事务隔离级别也可以在查询(表级别)级别上设置事务隔离级别。

    事务隔离级别总共有6个隔离级别:

    READ UNCOMMITTED(未提交读,读脏),相当于(NOLOCK)

    READ COMMITTED(已提交读,默认级别)

    REPEATABLE READ(可以重复读),相当于(HOLDLOCK)

    SERIALIZABLE(可序列化)

    SNAPSHOT(快照) READ

    COMMITTED SNAPSHOT(已经提交读隔离)

    对于前四个隔离级别:READ UNCOMMITTED<READ COMMITTED<REPEATABLE READ<SERIALIZABLE 隔离级别越高,读操作的请求锁定就越严格,锁的持有时间久越长;所以隔离级别越高,一致性就越高,并发性就越低,同时性能也相对影响越大.

    获取事务隔离级别(isolation level)

    DBCC USEROPTIONS 

    设置隔离

    设置回话隔离
    SET TRANSACTION ISOLATION LEVEL <ISOLATION NAME>
    --注意:在设置回话隔离时(REPEATABLE READ)两个单词需要用空格间隔开,但是在表隔离中可以粘在一起(REPEATABLEREAD)
    
    设置查询表隔离
    SELECT ....FROM <TABLE> WITH (<ISOLATION NAME>) 
  • 相关阅读:
    Linux基本命令
    IDEA实用插件
    Windows常用快捷键
    IDEA常用快捷键
    OOP三大特性之多态
    IDEA里配置SSM框架,配置没问题却报404错误
    Tomcat的80端口被占用问题_解决方案
    基于SpringBoot开发
    java数据结构--线性表
    代码优化设计(一)
  • 原文地址:https://www.cnblogs.com/chenh/p/6768778.html
Copyright © 2011-2022 走看看