• 烟男总结的事务隔离机制


    文章总结来自孤独烟,打杂的ZRJ,顺便盗几个图

    事务隔离分四级:分别为

      1:读未提交:就是一个事务检索的数据被另一个未提交的事务修改了,就是说检索数据时不可靠的,会被另一个还没提交的事务修改了数据————>出现脏读的可能

      2:读已提交:就是一个事务检索的数据被另一个已经提交了的事务修改了,也叫做不可重复读,这里说的数据更是指主键索引没改,但是主键索引指向的数据内容变了,

            如果是增加或者删除一条数据,则不属于不可重复读--------------->出现不可重复读的可能    

            可以看得出发生脏读是不可重复读的子集,发生脏读必然不可重复读也发生了,所以读未提交会产生脏读,不可重复读的可能,也就是说读未提交会产生不可重复读

      3:可重复读:对幻读的解释:基于不可重复读,一个事务对检索的数据,被另一个已经提交的事务修改了,而这中修改是对行的修改,增加或者删除,这种就属于幻读

            所以就可以看出,不可重复读是幻读的子集,就是说发生不可重复读属于幻读的一种,就是说幻读除了是对数据行的增加或者减少,

            还可能是对某个索引值的内容的改变

          但是,dance,可重复读不能解决幻读的情况

          要解决幻读需要在REPEtable read 隔离级别下,该隔离级别可以保证不出现不可重复读和读脏的情况,弹药保证幻读还需要加锁lock next-key

          就是要在查询是加上select * from tableA lock in share mode

      4:而序列化就简单了,就是在可重复读的情况下加上lock in share mode

                                        放图震慑

    隔离级别脏读不可重复读幻读
    读未提交
    不可重复读
    可重复读
    串行化
  • 相关阅读:
    jQuery.ajax()方法笔记
    Docker安装
    Linux下Nginx+keepalived实现高可用
    Linux安装Nginx
    Redis主从、哨兵、Cluster特性
    Linux搭建redis集群
    Linux搭建redis单机
    HashMap知识总结(jdk1.8)
    如何避免form提交进行页面跳转
    异步上传文件,jquery+ajax,显示进度条
  • 原文地址:https://www.cnblogs.com/ali-guili/p/9966610.html
Copyright © 2020-2023  润新知