事务的特征:ACID
Atomicity:原子性
Consistency:一致性
Isolation:隔离性
Duration:持久性
在SQL标准中定义了事务的四种隔离级别:
1,read uncommitted 未提交读
事务中的修改,即使没有提交,对其他事务也都是可见的。即事务可以读取未提交的数据,即会产生脏读。
2,read committed 提交读
大都数系统都是这个级别的,oracle就是这个级别,但是MySQL不是这个级别的。
该事务级别定义:一个事务开始时,只能“看见”已经提交的事务所做的修改。换句话说,一个事务从开始到提交,所做的任何修改对其他的事务都是不可见的。
3,repeatable read 可重复读
读取数据的事务将会禁止写事务(但允许读事务),写事务则禁止任何其他事务。MySQL默认是此级别的。
4,serializable 可串行化
它是最高隔离级别,Serializable会在读取的每一行数据上都加锁,所以可能导致大量的超时和锁争用的问题。