数据库隔离级别

这里我们以mysql为例

mysql有四种隔离级别:可读未提交只读已提交可重复读序列化

可能会出现的三个问题:脏读不可重复读幻读

首先,对数据库的操作可以分为四种:读操作更新操作插入操作删除操作(可看做更新操作)

可读未提交:顾名思义,这种隔离级别下,其他事务可以读取到未提交事务所做的更改。这种隔离级别并没有对数据库做任何限制。

只读已提交:当一个事务A对一条数据进行更新操作的时候,会为这条数据加上行锁。这时,其他事务B就不能读取到这条数据。当事务A结束,事物B又可以读取这行数据,但是,事务B如果进行了两次读操作,就可能得到不同的结果。比如事务B进行读操作,事务A开始更新操作,事务A结束,事务B进行读操作。

可重复读:当事务A对一条数据进行读操作的时候,会为它加上行锁,这样,其他事务就不能更改这条数据,实现了可重复读。但是,可重复读是针对更新操作的,如果事务B对整张表进行一个范围的读操作,可能会读取到未提交的插入数据。

序列化:这种隔离级别下,所有的事物顺序执行,上面的问题都不会出现,但效率很低,一般不会用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值