zoukankan      html  css  js  c++  java
  • 脏读、不可重复读、幻读

    总结:对于不可重复读和幻读的区别是:不可重复读圈了一块地,这块地不允许任何人动用,但是不管旁边的地方是否开辟了一块地。幻读是不仅是圈的地,而且附近也不允许有新的地。这个对于区间查找会有影响。所以不可重复读和幻读最大的区别是区间查找的结果会不会一样。幻读保证结果一样,但是不可重复读不保证。mysql的事务默认级别是可重复读。但是该可重复读实现了部分的幻读解决方案,之所以说是部分,是因为对于update可以正常运行,对于insert却未必。可以参考http://blog.csdn.net/taylor_tao/article/details/7063639最后两个例子

    脏读(Dirty Read)

        脏读意味着一个事务读取了另一个事务未提交的数据,而这个数据是有可能回滚

    不可重复读(Unrepeatable Read)

         不可重复读意味着,在数据库访问中,一个事务范围内两个相同的查询却返回了不同数据。这是由于查询时系统中其他事务修改的提交而引起的。

        例如:事务B中对某个查询执行两次,当第一次执行完时,事务A对其数据进行了修改。事务B中再次查询时,数据发生了改变

    幻读(phantom read)

    幻读,是指当事务不是独立执行时发生的一种现象,例如第一个事务对一个表中的数据进行了修改,这种修改涉及到表中的全部数据行。同时,第二个事务也修改这个表中的数据,这种修改是向表中插入一行新数据。那么,以后就会发生操作第一个事务的用户发现表中还有没有修改的数据行,就好象发生了幻觉一样.

  • 相关阅读:
    vue--路径前面的@的意思
    格式化规则修改prettierrc
    windows快捷键
    使用npm 添加less之后报错
    IOS中如何提高UITableView的性能?
    ffmpeg解码h264 Increasing reorder buffer
    Chrome浏览器关联文件图标空白问题解决方案
    mysql 问题sql 截图
    1、HR需要哪些自我提升
    1、文案职业大揭秘
  • 原文地址:https://www.cnblogs.com/cat-and-water/p/6429053.html
Copyright © 2011-2022 走看看