查询隔离级别
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);
}
本文介绍了SQL的事务隔离级别,包括session级别(如Readcommitted)的本地作用,global级别(root用户)的全局持久性,以及如何在MySQL配置和Spring框架中指定事务隔离级别,讨论了Repeatable与Readcommitted的区别及其对并发性能的影响。
2202

被折叠的 条评论
为什么被折叠?



