“脏读”(Dirty Read)是指一个事务读取到了另一个尚未提交的事务修改过的数据。由于未提交的事务随时可能回滚,所以读到的数据可能是“假”的、最终并不存在的。
下面从业务影响、典型场景、行业差异三个层面说明脏读对业务的影响。
示例:
在以下场景尤其危险:
可能导致:
业务系统常假设:
“读到的数据 = 当前真实状态”
脏读打破了这个假设,造成:
事务A:库存 10 → 1(未提交)
事务B:脏读库存=1,认为还能卖
事务A:回滚,库存恢复 10
结果:用户看到“仅剩1件”,实际系统状态混乱。
事务A:订单改为“已支付”(未提交)
事务B:脏读后发货
事务A:支付失败回滚
结果:货发了,钱没收到。
事务A:审批通过(未提交)
事务B:脏读后执行下一步
事务A:驳回回滚
结果:流程走了“不该走的路径”。
少数场景影响较小:
但即便如此,也通常:
脏读的核心危害是:用“可能不存在的事实”驱动了真实业务,从而造成资金、库存、流程和数据一致性的实质性错误。
如果你愿意,我可以:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。