事务隔离级别介绍

本文详细介绍了MySQL的四种事务隔离级别:未提交读、读提交、可重复读和串行读,以及它们在并发读取数据时能解决的问题。读提交是多数数据库的默认级别,而可重复读是InnoDB的默认设置。串行读则提供完全串行化的读取,但可能导致读写阻塞。理解这些级别有助于优化数据库的并发性能。
摘要由CSDN通过智能技术生成

事务隔离

本文将介绍MySQL的四种事务隔离级别

在数据库操作中,为了有效保证并发读取数据的正确性,提出了事务隔离级别。

事务隔离级别是由加锁机制和类型决定的。


1. 未提交读(Read Uncommitted)

允许脏读,也就是可能读取到其他会话中未提交事务修改的数据。

2. 读提交(Read Committed)

只能读取到已经提交的数据Oracle等多数数据库默认都是该级别。

3. 可重复读(Repeated Read)

可重复读,在同一个事务内的查询都是事务开始时刻一致的,InnoDB默认级别。

4. 串行读(Serializable)

完全串行化的读,每次读都需要获得表级共享锁,读写相互都会阻塞。

读不提交测试

在这里插入图片描述

读提交

在这里插入图片描述

幻读

在这里插入图片描述

事务隔离级别对应能解决的问题

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值