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

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

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

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

相关推荐
寂寞旅行5 小时前
向量数据库Milvus的使用
数据库·milvus
闻哥6 小时前
Redis事务详解
java·数据库·spring boot·redis·缓存·面试
道亦无名6 小时前
aiPbMgrSendAck
java·网络·数据库
面向对象World9 小时前
正点原子Mini Linux 4.3寸800x480触摸屏gt115x驱动
linux·服务器·数据库
dinga198510269 小时前
mysql之联合索引
数据库·mysql
微风中的麦穗10 小时前
【SQL Server 2019】企业级数据库系统—数据库SQL Server 2019保姆级详细图文下载安装完全指南
大数据·数据库·sqlserver·云计算·个人开发·运维必备·sqlserver2019
zjttsh11 小时前
MySQL加减间隔时间函数DATE_ADD和DATE_SUB的详解
android·数据库·mysql
顾北1211 小时前
SpringCloud 系列 04:Gateway 断言 / 过滤器 / 限流 一站式落地指南
java·开发语言·数据库
禹凕11 小时前
MYSQL——基础知识(NULL 值处理)
数据库·mysql
码云数智-大飞11 小时前
SQL Server 无法启动?常见原因及详细解决方法指南
数据库