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相关推荐

  1. mysql 事务sqlserver_SQLServer数据库:事务与隔离级别实例讲解

    本文主要向大家介绍了SQLServer数据库:事务与隔离级别实例讲解,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助. 上班途中,你在一处ATM机前停了下来.正当你在敲入密码 ...

  2. MySQL数据库-学习笔记

    一.MySQL课程内容 1.1 数据库介绍 数据库概念 术语介绍 1.2 MySQL数据库 下载.安装.配置.卸载 MySQL客户端工具的安装及使用 1.3 SQL 结构化查询语言 什么是SQL SQ ...

  3. 数据库学习笔记(1)

    数据库学习笔记(1) 文章目录 数据库学习笔记(1) @[toc] DB 基本概念 连接数据库的三要素 元数据 mongoose 查询符合对象数组中某个对象的值 redis 是什么 存储的数据类型 r ...

  4. 数据库四大特性与隔离级别

    数据库四大特性ACID Atomicity (原子性) :事务(transaction)是由指逻辑上对数据的的一组操作,这组操作要么一次全部成功,如果这组操作全部失败,是不可分割的一个工作单位. Co ...

  5. 数据库事务4种隔离级别和7种传播行为

    一.数据库隔离级别:是在在数据库操作中,为了有效保证并发读取数据的正确性提出的. 隔离级别越高,越能保证数据的完整性和一致性,但是对并发性能的影响也越大.对于多数应用程序,可以优先考虑把数据库系统的隔 ...

  6. 数据库的四种隔离级别及对应解决的脏读、不可重复读、幻读问题

    数据库的四种隔离级别 数据库事务的隔离级别有4种,由低到高分别为Read uncommitted .Read committed .Repeatable read .Serializable .而且, ...

  7. mysql数据库的事务 acid 隔离级别 脏读 脏写 幻读 不可重复读

    事务的四大特征 原子性(atomicity):要么全部提交(commit),要么全部回滚(rollback) 一致性(consistency):数据从一个合法状态转换成另一种合法状态 隔离性(isol ...

  8. 数据库学习笔记第一弹——MySQL8.0和MySQL5.7的下载、安装与配置(图文详解步骤2022)

    数据库学习笔记第一弹--MySQL8.0和MySQL5.7的下载.安装与配置(图文详解步骤2022) 文章目录 数据库学习笔记第一弹--MySQL8.0和MySQL5.7的下载.安装与配置(图文详解步 ...

  9. 【数据库的四种隔离级别】

    在关系型数据库中,隔离级别是指多个事务并发执行时,彼此之间的隔离程度.数据库的四种隔离级别如下: 1.读未提交(Read Uncommitted): 最低级别的隔离级别,一个事务可以读取到另一个事务未 ...

  10. 一文搞懂数据库的四种隔离级别(建议收藏)

    文章转载自老周聊架构,侵删!!! 一.什么是事务 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消.也就是事务具有原子性,一个事务中的一系列的操作要么全 ...

最新文章

  1. java shape_Java 读取shape文件
  2. (0089)iOS开发之iOS应用间相互跳转(URL Scheme)
  3. Elon Musk的OpenAI用VR训练机器人:解锁更多复杂动作!
  4. IT界程序员几大恶习能立即让你变穷,你有吗?
  5. MySQL高级配置(二)详细介绍
  6. 阿里P8架构师整理的架构图你看过吗
  7. oracle的读写过程,我在在oracle中统计读写量,用了v$filestat,操作过程如下,有些问题请问高手...
  8. c#实例-子线程查找另一线程模态对话框句柄(invoke测试)
  9. Linux-Android 修改屏蔽长按键功能
  10. Drools和jBPM KIE A​​pps平台
  11. java va start_va_start和va_end使用详解
  12. Android Studio(3)---键盘快捷键
  13. 阶段3 2.Spring_06.Spring的新注解_8 spring整合junit完成
  14. 贝叶斯概率推断:短信数据推断行为
  15. 循序渐进PostgreSQL: 学习pqxx C++ API访问
  16. 题解 伊甸园日历游戏
  17. 看Unity网页游戏《蒸汽之城》如何成为行业标杆
  18. 数据挖掘的过程是什么?通俗易懂
  19. 快消品行业SCM供应链协同系统提高企业管理效率,驱动企业业务增长
  20. 酷开系统和鸿蒙,酷开电视史上最强刷机攻略

热门文章

  1. SecureCRT安装(5)
  2. 面向对象进阶 各种可以自定制的内置方法
  3. 解决关于phpstorm打开速度很慢的问题
  4. 【bzoj4897】[Thu Summer Camp2016]成绩单 区间dp
  5. IOS之xib计算cell的高度
  6. 20145302张薇《Java程序设计》第三周学习总结
  7. Oracle新建用户及权限
  8. Spring 3.0 基于 Annotation 的依赖注入实现
  9. PHP连接 SQLSERVER 注意事项(经典中的经典)
  10. 亲测VS2010纯静态编译QT4.8.2,实现VS2010编译调试Qt程序