事务隔离级别session
(1)READ-UNCOMMITTED 这是事务最低的隔离级别,它充许另一个事务能够看到这个事务未提交的数据。 解决第一类丢失更新的问题,可是会出现脏读、不可重复读、第二类丢失更新的问题,幻读 。事务
(2)READ-COMMITTED 保证一个事务修改的数据提交后才能被另一个事务读取,即另一个事务不能读取该事务未提交的数据。 解决第一类丢失更新和脏读的问题,但会出现不可重复读、第二类丢失更新的问题,幻读问题io
(3)REPEATABLE-READ 保证一个事务相同条件下先后两次获取的数据是一致的 解决第一类丢失更新,脏读、不可重复读、第二类丢失更新的问题,但会出幻读。数据
(4)SERIALIZABLE 事务被处理为顺序执行。 解决全部问题transaction
默认为 REPEATABLE-READ
1.查看
SELECT @@tx_isolation;(8.0版以前)
SELECT @@transaction_isolation;(8.0版)
2.设置
注:8.0版中设置隔离级别的时候,除了 SERIALIZABLE 外,其他级别的链接符替换为空格显示
set session transaction isolation level SERIALIZABLE;
set session transaction isolation level REPEATABLE READ;