前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

事务内嵌套事务:
  1) 都用spring事务时,取决spring采用的事务的隔离级别。
    这个默认隔离级别是与具体的数据库相关的,采取的是具体数据库的默认隔离级别,不同的数据库是不一样的。
    如是同一事务,事务有传播性:
    在有事务的方法A内执行修改,再于A内调用有事务的方法B执行修改同一字段,
    B用的是A的事务,可以拿到A手中的写锁,2次修改都执行成功。 
  2) 如果方法A用spring的事务,方法B用代码事务,是2个不同事务。
  3) 在主线程中开子线程,并分别在主、子线程中执行修改,则是2个不同事务,
  4) 只要是2个不同的事务,就会造成写锁等待。
    只有当先拿到写锁的修改方法的事务提交或回滚后,另一个线程的修改方法才能拿到写锁,第2次修改才能执行。
  
  5) 另外:read-only只读事务作用:多条查询SQL必须保证整体的读一致性,
    否则,在前条SQL查询之后,后条SQL查询之前,数据被其他用户改变,
    则该次整体的统计查询将会出现读数据不一致的状态,此时,应该启用只读事务支持
    
  6) 事务ACID四个属性;
    原子性(atomicity)、一个事务是一个不可分割的工作单位,事务中包括的操作要么都做,要么都不做。
    一致性(consistency)、事务必须是使数据库从一个一致性状态变到另一个一致性状态。
                          比如:A扣款了,B就收款了。
    隔离性(isolation)、一个事务的执行不能被其他事务干扰,并发执行的各个事务之间不会互相干扰。
    持久性(durability)、指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。
                          接下来的其他操作或故障不应该对其有任何影响。
                          
  7) 默认隔离级别: Read Commited--------Sql Server、Oracle. 
                  Repeatable Read ------- MySQL 、InnoDB存储引擎 
                  
                  read committed:开启一个事务,读一个数据,而后再次读,这2次可能不一样的,
                    因为在这2次读之间可能有其他事务更改这个数据,这也就是读提交,
                    每次读到的数据都是已经提交的(行级锁,不锁间隙)。
                  read repeatable:开启一个事务,读一个数据,而后再次读,这2次读的数据是一致的(行级锁且是锁间隙);
               
  8) 不可重复读与幻读的区别:
    不可重复读的重点是修改,同样的条件,你读取过的数据,再次读取出来发现字段值不一样了。
    幻读的重点在于新增或者删除,同样的条件,第 1 次和第 2 次读出来的记录总条数不一样。
  

事务相关、不可重复读与幻读的区别相关推荐

  1. Spring事务配置的五种方式和spring里面事务的传播属性和事务隔离级别、不可重复读与幻读的区别

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. spring事务配置的五种方式 前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spr ...

  2. 不可重复读和幻读的区别_图解脏写、脏读、不可重复读、幻读

    MySQL 是支持多事务并发执行的,否则来一个请求处理一个请求,处理一个人请求的时候,别的人都等着,这网站就别做了,用户都要砸键盘了. 这里就有一个问题了:一个事务在写数据的时候,另一个事务要读这行数 ...

  3. 数据库不可重复读和幻读的区别

    不可重复读:事务A第一次读取数据,事务B对同一个表进行了update 或者delete,事务A第二次读取数据,那么两次读取的数据是不同的,这时是不可重复读. 幻读:事务A第一次读取数据,事务B对同一个 ...

  4. 脏写、脏读、不可重复读、幻读的区别

    一般对于我们的业务系统去访问数据库而言,它往往是多个线程并发执行多个事务的,对于数据库而言,它会有多个事务同时执行,可能这多个事务还会同时更新和查询同一条数据,所以这里会有一些问题需要数据库来解决 我 ...

  5. 不可重复读和幻读的区别

    不可重复读是因为在读的时候没有禁止写操作,两次读取同一条数据的时候结果不一致,主要针对的是update或delete 幻读是因为在读取多条数据时,虽然此时读操作禁止了写操作,所以update和dele ...

  6. MySQL事务的四种隔离级别,mysql中的不可重复读和幻读的区别,Repeatable read可重复读隔离级别下怎么不存在幻读问题?

    1. 事务的隔离级别 1.1 read uncommited:读未提交.一个事务读到了另一个事务未提交的脏数据,称之为脏读. 1.2 read commited:读已提交.解决了脏读问题,但当前事务两 ...

  7. 不可重复读和幻读的区别_面试官:MySQL的可重复读级别能解决幻读吗

    Java面试笔试面经.Java技术每天学习一点 Java面试 关注不迷路 作者:宁愿. 来源:https://juejin.im/post/5c9040e95188252d92095a9e 引言 之前 ...

  8. 不可重复读和幻读的区别_论文重复率要多少算是合格的?

    论文重复率要多少算是合格的?对于论文查重的重复率要求,每个学校都是有一定差异的,部分高校要求比较简单,论文重复率只需要控制在20%-30%左右就可以了,而有些高校,对论文的重复率把控非常严格,明确规定 ...

  9. 脏读,不可重复读,幻读

    MySQL事务隔离级别: 在介绍脏读,不可重复读,幻读现象之前,我们先来了解MySQL的事务隔离级别,因为脏读,不可重复读,幻读等现象都是由数据库里的事务隔离级别来决定是否可能发生的. 在MySQL里 ...

最新文章

  1. Zynq7000术语PL,PS,APU,SCU介绍
  2. Kubernetes入门——Kubernetes实现应用的高可用
  3. 下面选项能正确表示JAVA_模拟试题2
  4. 【学习笔记】我命由天不由我之随机化庇佑 —— 爬山法 和 模拟退火法
  5. 【英语学习】【English L06】U07 Jobs L1 A computer programmer
  6. MySQL的varchar水真的太深了,你真的会用吗?
  7. canvas 绘制直线 并选中_javascript自学记录:canvas绘图
  8. java求最大子数组 (分治算法)
  9. 将爬取到的数据存入数据框并导出
  10. 插桩java_字节码插桩技术
  11. dp hp oracle 备份软件_HPDP备份软件设置
  12. 移动端使用二倍图比一倍图有什么好处
  13. 快速学习Groovy
  14. LC tank 在RF放大器中的作用
  15. moviepy中视频时长修改
  16. Java应用,如何提高系统健壮性
  17. 以岭药业:连花清瘟火爆背后,数字化重塑人力资源管理
  18. TICK回测研究一,每日批量获取行情
  19. oracle-SCN headroom
  20. 奇怪的问题 mspaint

热门文章

  1. 小学计算机制作表格教案,小学信息技术《表格的制作》教案
  2. 【Python学习】 - TensorFlow.keras 不显示epochs进度条的方法
  3. 【HRBUST - 1621】迷宫问题II (bfs)
  4. 【AtCoder - 2554】Choose Integers (找规律,或枚举)
  5. 7.深度学习练习:Regularization
  6. 自定义菜单url不能带_微服务架构【SpringBoot+SpringCloud+VUE】五 || 实战项目微信公众号自定义开发...
  7. 实现Runnable 创建多线程的简单实现
  8. 解决ckeditor富文本在layui 弹框中大小字体等下拉不显示
  9. C++(7)--for循环,break,continue语句
  10. Python(5)-注释