• 用简单的例子讲一下 脏读,幻读,不可重复读


    戏说一下事务中的脏读,幻读,和不可重复读

    脏读:事务A在执行的过程修改了数据库中的数据,这时事务B插了进来,读取到了事务A修改之后的数据并且提交了上去,这时事务A由于某些原因进行了回滚,那么事务B读取的就是事务A的脏数据

      相当与你在外面吃烧烤,然后有一块肉掉了,恰好掉到了一个外出觅食的蚂蚁面前,蚂蚁立即掉头回去报告,这是你把掉的肉捡了起来,当蚂蚁带他的兄弟们回来的时候,发现没有肉,这时候蚂蚁带给蚁群的就是脏数据。

    不可重复读:事务A读取了一组数据,在执行逻辑的时候,事务B修改了这条数据,当事务A再次读取时候,发现数据前后不一致了,这就是不可重复读。

      相当与你在外面吃烧烤,掉了一块肉,恰好掉到了一个外出觅食的蚂蚁面前,蚂蚁回去报告,这是你把掉的肉捡了起来,却意外的碰掉了桌子上的韭菜,这是你叹了一口气,说不想捡了,当蚂蚁带他的兄弟们回来的时候,发现这个地方不是肉,而是韭菜,这时候蚂蚁带给蚁群的就是不可重复读数据

    幻读:事务A根据条件读取了数据,这时事务B插了进来,修改了数据库里的数据,导致事务A在做第二次查询的时候发现第二次读取的数据比第一次要多,这就是幻读

      相当与你在外面吃烧烤,掉了一块肉,恰好掉到了一个外出觅食的蚂蚁面前,蚂蚁回去报告,你不想捡了,这时你又掉了一块,你叹了一口气也没捡,当蚂蚁带他的兄弟们回来的时候,发现这个不是一块肉,而是两块,这时候蚂蚁带给蚁群的就是幻读数据

  • 相关阅读:
    小伙子的毕业设计
    mongoDB
    Java面试题笔试题收集
    react-router4 介绍
    React 组件间通信 总结
    react ajax
    react应用(基于react脚手架)
    React 之 组件生命周期
    组件收集表单数据
    组件的组合使用
  • 原文地址:https://www.cnblogs.com/liouzeshuen/p/10429869.html
Copyright © 2020-2023  润新知