控制隔离数据以供一个进程使用并防止其它进程干扰的程度的事务属性。设置隔离级别定义了 SQL Server 会话中所有 SELECT 语句的默认锁定行为。
当多个事务同时进行时,通过设置隔离级别来处理脏读、不可重复读、幻读事件
read uncommitted | 0 未提交读
将查询的隔离级别指定为 0。
可以读脏数据
读脏数据:一事务对数据进行了增删改,但未提交,有可能回滚,另一事务读取了回滚前的数据
read committed | 1 已提交读
将查询的隔离级别指定为 1。
避免脏读,但可以出现不可重复读和幻读
不可重复读:一事务对数据进行了更新或删除操作,另一事务两次查询的数据不一致
幻像读:一事务对数据进行了新增操作,另一事务两次查询的数据不一致
repeatable read | 2 可重复读
将查询的事务隔离级别指定为 2。
避免脏读,不可重复读,允许幻像读
serializable | 3 可序列化
将查询的隔离级别指定为 3。
串行化读,事务只能一个一个执行,避免了脏读、不可重复读、幻读
执行效率慢(我遇到过一种情况,用时是隔离级别1的30倍),使用时慎重
SNAPSHOT
当读取数据时,可以保证读操作读取的行是事务开始时可用的最后提交版本。
这意味着这种隔离级别可以保证读取的是已经提交过的数据,并且可以实现可重复读,
也能确保不会幻读。不过这种隔离级别使用的不是共享锁,而是行版本控制。
SQL Server 2005以后的版本支持。
分享到:
相关推荐
DB2 inforcenter上的隔离级别介绍
查询:默认事务隔离级别 mysql> select @@tx_isolation;当前会话的默认事务隔离级别 mysql> select @@session.tx_isolation;当前会话的默认事务隔离级别 mysql> select @@global.tx_isolation;全局的事务隔离级别
• InnoDB实现了SQL92标准中的四种隔离级别 (1)读未提交:select不加锁,可能出现读脏; (2)读提交(RC):普通select快照读,锁select /update /delete 会使用记录锁,可能出现不可重复读; (3)可重复读(RR):普通...
数据库的隔离级别,数据库的隔离级别,数据库的隔离级别,数据库的隔离级别
介绍数据库事务的四种隔离级别,比较不同隔离级别的区别和影响
Hibernate 事物隔离级别 深入探究
数据库事务和隔离级别
Mysql的四种隔离级别 Mysql的四种隔离级别 Mysql的四种隔离级别
数据库事务的四种隔离级别的特点描述,他们的使用热度,以及各种锁在隔离级别下的释放时机。
本文档介绍了spring事务隔离级别的使用及详解
GBase 8s隔离级别
隔离级别定义了事务与事务之间的隔离程度。隔离级别定义了事务与事务之间的隔离程度。
GBase8s_隔离级别.docx
事务传播特性&事务隔离级别 详细的事务传播特性&事务隔离级别
对四种隔离级别有较深的解释.... 很好的 参考文档
spring事务的传播特性和事务隔离级别
java事务传播特性&事务隔离级别...
MySQL的四种事务隔离级别 1、脏读 2、不可重复读 3、幻读
SQLSERVER事务隔离级别的实验研究.pdf
有关JDBC事务 JTA事务 传播特性 隔离级别等等