1.4 SERIALIZABLE(串行化)
2017-08-22 本文已影响0人
元代码
1.设置为串行化
SET GLOBAL TRANSACTION ISOLATION LEVEL REPEATABLE READ;
事务TB进行数据修改

事务TA执行查询,由于行被上锁TA被阻塞,不能进行查询

要说明的是,这里的串行化指的是是读和写操作的串行化,这种隔离级别不存在多个事务读取数据不一致的情况。
两个事务同时读数据在任何隔离级别下都是可以的,只是读已提交、可重复读这两种隔离级别存在多个事务会查询到不同数据的情况。
两个事务同事写数据在任何隔离级别下都是不行的,写操作InnoDB对必要的数据行使用悲观锁策略,必须等先修改数据的事务提交,后做修改的事务才能提交。