如配置MySQL数据库的隔离级别

数据库的隔离级别:读未提交、读已提交、可重复读、串行化

每种隔离级别引发的问题:

读未提交:脏读、幻读、不可重复读

读已提交:幻读、不可重复读

可重复读:幻读

串行化:解决以上所有问题

问题解释:

脏读:一个事务读到另一个事务的未提交的数据

幻读:一个事务读到另一个事务insert的数据

不可重复读:一个事务读到另一个事务update的数据

设置隔离级别的步骤:

sql语句:

1)查看当前事物级别:

SELECT @@tx_isolation;

2)设置read uncommitted级别:

set session transaction isolation level read uncommitted;

3)设置read committed级别:

set session transaction isolation level read committed

4)设置repeatable read级别:

set session transaction isolation level repeatable read;

5)设置serializable级别:set session transaction isolation level serializable

1)read uncommitted : 读取尚未提交的数据 :就是脏读

2)read committed:读取已经提交的数据 :可以解决脏读

3)repeatable read:重读读取:可以解决脏读 和 不可重复读 ---mysql默认的

4)serializable:串行化:可以解决 脏读 不可重复读 和 虚读---相当于锁表

猜你喜欢

转载自blog.csdn.net/weixin_42210904/article/details/87361837