事务隔离级别解决上节课的事务并发问题,例如解决脏读、不可重复读、幻读。√表示会出现问题,×表示不会出现问题 对于MySQL的默认隔离级别是repeatable read
隔离级别 | 脏读 | 不可重复读 | 幻读 |
---|---|---|---|
read uncommitted | √ | √ | √ |
read committed | × | √ | √ |
repeatable read(默认) | × | × | √ |
serializable | × | × | × |
read uncommitted的隔离级别最低,数据安全性差,但性能最高 serializable的隔离级别最高,但性能最差
查看事务隔离级别
select @@transaction_isolation;
设置事务隔离级别
set [session | global] transaction isolation level [read uncommitted | read committed | repeatable read | serializable];
@@表示查看系统变量信息 session表示会话级别,作用是对于当前客户端窗口有效 global表示全局级别,作用是对于所有客户端窗口有效