1.并发事务问题
1)脏读:一个事物读到另一个事务还没有提交的数据。
2)不可重复读:一个事务先后读取同一条记录,但两次读取的数据不同,称之为不可重复读。
3)幻读:一个事务按照条件查询数据时,没有对应的数据行,但是在插入数据时,又发现这行数据已经存在,好像出现了“幻影”。
2.事务隔离级别
隔离级别 | 脏读 | 不可重复读 | 幻读 |
---|---|---|---|
Read uncommitted | ✔ | ✔ | ✔ |
Read committed | ❌ | ✔ | ✔ |
Repeatable Read(默认的) | ❌ | ❌ | ✔ |
Serializable | ❌ | ❌ | ❌ |
1). 查看事务隔离级别
SELECT @@TRANSACTION_ISOLATION;
2). 设置事务隔离级别
SET [ SESSION | GLOBAL ] TRANSACTION ISOLATION LEVEL { READ UNCOMMITTED |
READ COMMITTED | REPEATABLE READ | SERIALIZABLE }
注意:
事务隔离级别越高,数据越安全,但是性能越低。
原文地址:https://www.cnblogs.com/little-sheep9/archive/2022/04/07/16114754.html