查询隔离级别
select @@transaction_isolation;
session 级别
- 只对当前打开的会话有效,比如一个navicat窗口
SET session TRANSACTION ISOLATION LEVEL Read committed (参数可以为:Read uncommitted,Read committed,Repeatable,Serializable)
global 级别 (root用户才行)
- 全局有效,重启则无效
SET global TRANSACTION ISOLATION LEVEL Read committed
修改my.conf 默认隔离级别
- 永久有效
- mysql默认是Repeatable,高并发容易造成很多间隙锁,对于非严格事务的操作影响效率
[mysqld]
transaction-isolation=READ-COMMITTED
spring代码指定事务级别
@Transactional(isolation = Isolation.READ_UNCOMMITTED)
public void save(Demo demo) {
demoMapper.insert(demo);
}