关系数据库的四个事务隔离级别,从最低到最高如下:
1、未提交读(会发生脏读)
一个事务A访问一条数据并修改了它,但尚未提交时,另一个事务B读取了这条数据。这时如果事务A回滚,则出现读脏数据的情况。
2、读提交(会发生不可重复读):即同一事务内,多次读同一数据。
重点是修改:同样的条件,你读取过的数据,再次读取出来发现值不一样了。
一个事务A第一次在读取某条数据后,事务B修改了这条数据,当事务A再次读取这条数据时,发现已经和第一次读取的值不一样了。即A在同一事务内不能重复读取一条数据。
3、可重复读(会发生幻读):
重点在于新增或者删除:同样的条件,第1次和第2次读出来的记录数不一样。
第一个事务A对一个表中某列数据进行了修改,这种修改涉及到表中的全部数据行。同时,第二个事务B也修改这个表中的数据,这种修改是向表中插入一行新数据。那么,操作第一个事务A的用户发现表中还有没有修改的数据行,好象发生幻觉一样。
4、序列化:
脏读、不可重复读、幻读等问题都不会发生。
一个事务结束前,阻止其它事务的insert、update操作。
大多数数据库默认隔离级别为:Read Commited,少数数据库默认隔离级别为Repeatable Read,如MySQL InnoDB引擎。
相关阅读:
一个简单跨库事务问题解决办法:http://www.cnblogs.com/aigongsi/archive/2013/01/14/2860372.html
相关推荐
介绍数据库事务的四种隔离级别,比较不同隔离级别的区别和影响
数据库事务隔离级别.docx数据库事务隔离级别.docx数据库事务隔离级别.docx
数据库事务和隔离级别
查询:默认事务隔离级别 mysql> select @@tx_isolation;当前会话的默认事务隔离级别 mysql> select @@session.tx_isolation;当前会话的默认事务隔离级别 mysql> select @@global.tx_isolation;全局的事务隔离级别
数据库事务隔离级别 数据库事务的隔离级别有4个,由低到高依次为 Read uncommitted:允许脏读。 Read committed: 防止脏读,最常用的隔离级别,并且是大多数数据库的默认隔离级别。 Repeatable read:可以防止脏...
mysql数据库事务隔离级别借鉴.pdf
mysql数据库事务隔离级别[参照].pdf
事务隔离级别 课程目标 了解 —— 事务隔离级别的概念; 理解 —— 事务隔离的四种级别; 掌握 —— 事务隔离级别的设置; 事务隔离级别 事务隔离:每一个事务都有一个所谓的隔离级,它定义了用户彼此之间隔离和交互...
目录 数据库事务的隔离级别 2 数据库ACID理论 2 原子性 2 一致性 2 隔离性 2 持久性 3 事务隔离级别 3 Read Uncommitted(读取
通过此文档,让你完全了解数据库事务与隔离技术,SQL SERVER,ORACLE在不同事务隔离级别的区别,以及两种数据库本身的特点
数据库_事务隔离级别与锁
为什么会出现数据库的隔离级别呢? 数据库隔离级别是为了解决数据库并发访问过程中产生的各种数据安全问题. 事务的基本要素(ACID) 原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能...
事务的属性:1.Propagation:用来设置事务的传播行为事务的传播行为:一个方法运行在了一个开启了事务的方法中时,当前方法是使用原来的事务还是开启了一个新
数据库隔离级别有四种,应用《高性能mysql》一书中的说明:然后说说修改事务隔离级别的方法:1.全局修改,修改mysql.ini配置文件,在最后加上#可选参数有:READ-UNCOMMITTED,READ-COMMITTED,REPEATABLE-READ,...
持久性(Durability):持久性指对于任意已提交事务,系统必须保证该事务对数据库的改变不被丢失,即使数据库出现故障。 2. 隔离级别 Serializable(串行化):可避免脏读、不可重复读、幻读的发生。 Rep
DB2 inforcenter上的隔离级别介绍
数据库事务的四种隔离级别的特点描述,他们的使用热度,以及各种锁在隔离级别下的释放时机。
数据库中事务的四大特性(ACID
oracle 事务隔离级别 事务不同引发的状况: 脏读(Dirty reads) 一个事务读取另一个事务尚未提交的修改时,产生脏读 很多数据库允许脏读以避免排它锁的竞争。 不可重复读(Nonrepeatable reads) 同一查询在同一事务中...
02.Spring支持的常用数据库事务传播属性和事务隔离级别