mysql 事务隔离级别设置

查询隔离级别

select @@transaction_isolation;

session 级别

  • 只对当前打开的会话有效,比如一个navicat窗口
SET session TRANSACTION ISOLATION LEVEL Read committed (参数可以为:Read uncommittedRead committedRepeatableSerializable

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);
    }

猜你喜欢

转载自blog.csdn.net/leafcat7/article/details/133245138