1分钟理解脏读、幻读与不可重复读

  1. 脏读(Dirty Read):一个事务读取了另一个事务未提交的数据。这意味着,如果一个事务正在修改数据,但尚未提交,另一个事务可以读取这些未提交的数据。如果未提交的事务最终回滚,那么读取到的数据就是无效的,这就是所谓的脏读。

  2. 不可重复读(Non-Repeatable Read):在一个事务中,多次读取同一数据集合时,由于其他事务的介入,导致读取的数据不一致。也就是说,事务在处理过程中,其他事务对数据进行了修改,导致原始事务在后续读取中得到的数据与之前不同,这影响了事务的一致性。

  3. 幻读(Phantom Read):一个事务在执行过程中,其他事务插入了新的数据行,导致原本的查询结果集发生了变化。例如,一个事务按照一定的条件查询数据库,得到了一组数据,但在该事务还未完成时,另一个事务向数据库中添加了新的数据行,这些数据行也符合第一个事务的查询条件。当第一个事务再次执行相同的查询时,会发现多了一些原本不存在的数据行,就像产生了幻觉一样,这就是幻读。

相关推荐
dualven_in_csdn12 分钟前
【数据库损坏】关于一次现场数据库损坏
数据库·mysql
锦衣夜行?31 分钟前
oracle 未知长度从左到右截取某个字符串
数据库·oracle
han_hanker1 小时前
@JsonIgnore,@JsonProperty, @JsonInclude,@JsonFormat
数据库·oracle
hanyi_qwe1 小时前
MySQL事务基础
数据库·mysql
l1t1 小时前
三种用SQL解决Advent of Code 2022第8题 树顶木屋 的比较和分析
数据库·sql·oracle·duckdb·advent of code
如果未来,1 小时前
Oracle的Redo log和Undo log的区别
数据库·oracle
koping_wu1 小时前
【方案设计】Mysql相关场景
数据库·mysql
杨云龙UP1 小时前
SQL Server小技巧:用 SSMS 重置登录密码,不影响正在运行的系统
运维·服务器·数据库·sql·sqlserver
洁洁!1 小时前
openEuler多样性算力支持实践:容器化多架构应用部署与调度
服务器·数据库·科技·语言模型·数据分析
白露与泡影1 小时前
MySQL整体设计与存储引擎深度剖析:从架构哲学到引擎选型(了解)
数据库·mysql·架构