事务的特征:ACID

Atomicity:原子性

Consistency:一致性

Isolation:隔离性

Duration:持久性

 

在SQL标准中定义了事务的四种隔离级别:

1,read uncommitted  未提交读

事务中的改动。即使没有提交,对其它事务也都是可见的。即事务能够读取未提交的数据。即会产生脏读。

2,read committed       提交读

大都数系统都是这个级别的,oracle就是这个级别,可是MySQL不是这个级别的。

该事务级别定义:一个事务開始时,仅仅能“看见”已经提交的事务所做的改动。

换句话说。一个事务从開始到提交,所做的不论什么改动对其它的事务都是不可见的。

3,repeatable read       可反复读

读取数据的事务将会禁止写事务(但同意读事务),写事务则禁止不论什么其它事务。MySQL默认是此级别的。

4,serializable               可串行化

它是最高隔离级别。Serializable会在读取的每一行数据上都加锁。所以可能导致大量的超时和锁争用的问题。