查询mysql系统级事务隔离级别:SELECT @@global.tx_isolation;
查询mysql会话级事务隔离级别:SELECT @@tx_isolation;
事务隔离级别:
一、读未提交: 查询到了事务未提交更新
设置:set session transaction isolation level read uncommitted;
问题:脏读(读取后事务回滚),幻读(读取了未提交数据),不可重复读(读取的数据已变更)
演示:
二、读已提交:查询不到事务未提交更新,只能查询到事务已提交数据
设置:set session transaction isolation level read committed;、
问题:幻读(事务已修改未提交状态读取了提交之前数据),不可重复读(提交后重新读不一致)
演示:
三、可重复读:事务不提交查询不变
问题:幻读(事务未提交永远读取一条数据,就算别的事务已经提交)
设置:set session transaction isolation level repeatable read;
四、串行化: 单线程操作,事务必须提交别的事务才能执行
设置:set session transaction isolation level serializable;