zoukankan      html  css  js  c++  java
  • 数据库脏读、不可重读读、幻读

    脏读:脏读是读到了别的事务回滚前的脏数据。比如事务B执行过程中修改了数据X,在未提交前,事务A读取了X,而事务B却回滚了,这样事务A就形成了脏读。

    也就是说,当前事务读到的数据是别的事务想要修改成为的但是没有修改成功的数据。

    不可重复读:事务A首先读取了一条数据,然后执行逻辑的时候,事务B将这条数据改变了,然后事务A再次读取的时候,发现数据不匹配了,就是所谓的不可重复读了。

    也就是说,当前事务先进行了一次数据读取,然后再次读取到的数据是别的事务修改成功的数据,导致两次读取到的数据不匹配,也就照应了不可重复读的语义。

    幻读:事务A首先根据条件索引得到N条数据,然后事务B改变了这N条数据之外的M条或者增添了M条符合事务A搜索条件的数据,导致事务A再次搜索发现有N+M条数据了,就产生了幻读。幻读其实就是第一次读后,数据又被增加或者删除。

    首先这些读数据读错了,但是不管脏读,不可重复读,还是幻读,都是读操作似乎不会对数据库的数据造成影响,但是我们代码里面有后续的操作,一般都要用读出来的值进行对数据加工处理,然后就会对数据造成影响。

  • 相关阅读:
    Vue 项目结构介绍
    使用命令行创建 Vue 项目
    GitHub无法访问怎么办?-- 已解决
    Spa 单页面应用简介
    JetBrains WebStorm 常用快捷键总结
    使用 WebStorm + Vue 写一个九九乘法表
    使用 WebStorm 2018 运行第一个 Vue 程序
    小工具
    elasticsearch安装部署
    命令行连接ftp
  • 原文地址:https://www.cnblogs.com/chenmz1995/p/10743236.html
Copyright © 2011-2022 走看看