MySQL事物隔离性

 

MySQL事物主要有ACID四个特性 原子性, 一致性, 隔离性, 持久性 (myisam不支持事务, 这里主要讨论innodb)

原子性: 执行的语句只有两个状态,发生或不发生

一致性: 事务执行前后, 数据保持业务上的一致

隔离性:多个事务执行过程中之间的相互影响,这里可以设置为多个影响级别 read uncommitted , read committed, repeatable read,  serilizable

持久性: 事务一旦发生不可取消, 只能用补偿事务抵消

这里主要想讨论下隔离性的四个级别 建立table ts 

原有数据

1、 set session transaction isolation level read uncommitted;

 

2、set session transaction isolation level read committed; A事务提交后影响了B事务的查询

3、set session transaction isolation level repeatable read; A 事务不影响B事务 保持独立性 也是目前MySQL默认的隔离级别

 

4、串行化  , 所有的事务,必须编号,按顺序一个一个来执行,也就取消了冲突的可能.这样隔离级别最高,但事务相互等待的等待长. 不是很实用。

posted @ 2018-04-22 23:47  zhu12345678  阅读(192)  评论(0编辑  收藏  举报