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