数据库学习笔记3-隔离级别 Read Uncommitted
1. Read Uncommitted
Read Uncommitted允许读到尚未提交的事务的修改之后的数据。
2. 脏读
Read Uncommitted是隔离级别最低的一种事务级别。
在这种隔离级别下,一个事务会读到另一个事务更新后但未提交的数据,如果另一个事务回滚,那么当前事务读到的数据就是脏数据,这就是脏读(Dirty Read)。
3. 例子
首先,我们准备好students
表的数据,该表仅一行记录:
mysql> select * from students;
+----+-------+
| id | name |
+----+-------+
| 1 | Alice |
+----+-------+
1 row in set (0.00 sec)
然后,分别开启两个MySQL客户端连接,按顺序依次执行事务A和事务B:
时刻 | 事务A | 事务B |
---|---|---|
1 |
// 设置隔离级别 SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; |
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; |
2 |
// 开始事务 BEGIN; |
BEGIN; |
3 |
// 更新Alice为Bob UPDATE students SET name = 'Bob' WHERE id = 1; |
|
4 |
// 读到“Bob" SELECT * FROM students WHERE id = 1; |
|
5 |
// 回滚 ROLLBACK; |
|
6 |
// 读到”Alice" SELECT * FROM students WHERE id = 1; |
|
7 | COMMIT; |
当事务A执行完第3步时,它更新了id=1
的记录,但并未提交,而事务B在第4步读取到的数据就是未提交的数据。
随后,事务A在第5步进行了回滚,事务B再次读取id=1
的记录,发现和上一次读取到的数据不一致,这就是脏读。
可见,在Read Uncommitted隔离级别下,一个事务可能读取到另一个事务更新但未提交的数据,这个数据有可能是脏数据。
https://www.liaoxuefeng.com/wiki/1177760294764384/1219071817284064
数据库学习笔记3-隔离级别 Read Uncommitted相关推荐
- mysql 事务sqlserver_SQLServer数据库:事务与隔离级别实例讲解
本文主要向大家介绍了SQLServer数据库:事务与隔离级别实例讲解,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助. 上班途中,你在一处ATM机前停了下来.正当你在敲入密码 ...
- MySQL数据库-学习笔记
一.MySQL课程内容 1.1 数据库介绍 数据库概念 术语介绍 1.2 MySQL数据库 下载.安装.配置.卸载 MySQL客户端工具的安装及使用 1.3 SQL 结构化查询语言 什么是SQL SQ ...
- 数据库学习笔记(1)
数据库学习笔记(1) 文章目录 数据库学习笔记(1) @[toc] DB 基本概念 连接数据库的三要素 元数据 mongoose 查询符合对象数组中某个对象的值 redis 是什么 存储的数据类型 r ...
- 数据库四大特性与隔离级别
数据库四大特性ACID Atomicity (原子性) :事务(transaction)是由指逻辑上对数据的的一组操作,这组操作要么一次全部成功,如果这组操作全部失败,是不可分割的一个工作单位. Co ...
- 数据库事务4种隔离级别和7种传播行为
一.数据库隔离级别:是在在数据库操作中,为了有效保证并发读取数据的正确性提出的. 隔离级别越高,越能保证数据的完整性和一致性,但是对并发性能的影响也越大.对于多数应用程序,可以优先考虑把数据库系统的隔 ...
- 数据库的四种隔离级别及对应解决的脏读、不可重复读、幻读问题
数据库的四种隔离级别 数据库事务的隔离级别有4种,由低到高分别为Read uncommitted .Read committed .Repeatable read .Serializable .而且, ...
- mysql数据库的事务 acid 隔离级别 脏读 脏写 幻读 不可重复读
事务的四大特征 原子性(atomicity):要么全部提交(commit),要么全部回滚(rollback) 一致性(consistency):数据从一个合法状态转换成另一种合法状态 隔离性(isol ...
- 数据库学习笔记第一弹——MySQL8.0和MySQL5.7的下载、安装与配置(图文详解步骤2022)
数据库学习笔记第一弹--MySQL8.0和MySQL5.7的下载.安装与配置(图文详解步骤2022) 文章目录 数据库学习笔记第一弹--MySQL8.0和MySQL5.7的下载.安装与配置(图文详解步 ...
- 【数据库的四种隔离级别】
在关系型数据库中,隔离级别是指多个事务并发执行时,彼此之间的隔离程度.数据库的四种隔离级别如下: 1.读未提交(Read Uncommitted): 最低级别的隔离级别,一个事务可以读取到另一个事务未 ...
- 一文搞懂数据库的四种隔离级别(建议收藏)
文章转载自老周聊架构,侵删!!! 一.什么是事务 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消.也就是事务具有原子性,一个事务中的一系列的操作要么全 ...
最新文章
- java shape_Java 读取shape文件
- (0089)iOS开发之iOS应用间相互跳转(URL Scheme)
- Elon Musk的OpenAI用VR训练机器人:解锁更多复杂动作!
- IT界程序员几大恶习能立即让你变穷,你有吗?
- MySQL高级配置(二)详细介绍
- 阿里P8架构师整理的架构图你看过吗
- oracle的读写过程,我在在oracle中统计读写量,用了v$filestat,操作过程如下,有些问题请问高手...
- c#实例-子线程查找另一线程模态对话框句柄(invoke测试)
- Linux-Android 修改屏蔽长按键功能
- Drools和jBPM KIE A​​pps平台
- java va start_va_start和va_end使用详解
- Android Studio(3)---键盘快捷键
- 阶段3 2.Spring_06.Spring的新注解_8 spring整合junit完成
- 贝叶斯概率推断:短信数据推断行为
- 循序渐进PostgreSQL: 学习pqxx C++ API访问
- 题解 伊甸园日历游戏
- 看Unity网页游戏《蒸汽之城》如何成为行业标杆
- 数据挖掘的过程是什么?通俗易懂
- 快消品行业SCM供应链协同系统提高企业管理效率,驱动企业业务增长
- 酷开系统和鸿蒙,酷开电视史上最强刷机攻略