• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    mysql隔离级别详解及示例
    POST TIME:2021-10-18 19:19

    只是单纯知道事物的隔离级别,但是从未操作过 今日操作一次。

    脏读(Drity Read):某个事务已更新一份数据,另一个事务在此时读取了同一份数据,由于某些原因,前一个RollBack了操作,则后一个事务所读取的数据就会是不正确的。

    不可重复读(Non-repeatable read):在一个事务的两次查询之中数据不一致,这可能是两次查询过程中间插入了一个事务更新的原有的数据。

    幻读(Phantom Read):在一个事务的两次查询中数据笔数不一致,例如有一个事务查询了几列(Row)数据,而另一个事务却在此时插入了新的几列数据,先前的事务在接下来的查询中,就会发现有几列数据是它先前所没有的。

    mysql的4种隔离级别

    read uncommitted : 读取尚未提交的数据 :哪个问题都不能解决
    read committed:读取已经提交的数据 :可以解决脏读 ---- oracle默认的
    repeatable read:重读读取:可以解决脏读 和 不可重复读 —mysql默认的
    serializable:串行化:可以解决 脏读 不可重复读 和 虚读—相当于锁表

    事务隔离级别 脏读 不可重复读 幻读
    读未提交(read-uncommitted)
    不可重复读(read-committed)
    可重复读(repeatable-read)
    串行化(serializable)

    创建数据表:

    create table shuzhi
    (
      id mediumint(8) primary key,
      name varchar(30),
      shuzhi mediumint(10)
    );
    alter table shuzhi engine=innodb;
    insert into shuzhi values(1,'aa',1000);
    insert into shuzhi values(2,'bb',2000);
    insert into shuzhi values(3,'cc',3000);
    insert into shuzhi values(4,'dd',4000);
    insert into shuzhi values(5,'ee',5000);
    insert into shuzhi values(6,'ff',6000);
    insert into shuzhi values(7,'gg',7000);
    insert into shuzhi values(8,'hh',8000);
    

    开始测试事物的4种隔离级别 第一种:read uncommitted (读未提交)

    设置隔离级别

    #查询当前的隔离级别
    SELECT @@tx_isolation
    #设置隔离级别 set session transaction isolation level  [隔离级别]
    set session transaction isolation level  read uncommitted
    

    先开启第一个进程 先开启事物 暂不进行查询

    窗口1
    start transaction;
    

    再开启第二个进程(终端)
    先开启事物 修改一条记录 不commit

    窗口2
    start transaction;
    update shuzhi set shuzhi='8888' where id=7;
    

    去数据库查询发现id=7的值还是7000值并没改变

    再去窗口1中查询这个记录

    窗口1
    start transaction;
    select * from shuzhi where id=7
    

    发现读到的数据是窗口2中为提交的数据 并不是7000

    到此这篇关于mysql隔离级别详解及示例的文章就介绍到这了,更多相关mysql隔离级别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • 深入理解Mysql的四种隔离级别
    • MySQL四种事务隔离级别详解
    • mysql 详解隔离级别操作过程(cmd)
    • 通过实例分析MySQL中的四种事务隔离级别
    • Mysql事务隔离级别原理实例解析
    • 详解MySQL中事务隔离级别的实现原理
    上一篇:Docker启动mysql配置实现过程
    下一篇:mysql索引失效的十大问题小结
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信