zoukankan      html  css  js  c++  java
  • mysql 锁和隔离事务

    --查询表锁争用情况
    show status like 'ord%';
    --查看数据库中表的状态,是否被锁;
    SHOW PROCESSLIST;

    --脏读 读未提交
    --A事务读取了B事务修改但未提交的数据 B稍后时候进行了回滚,那么A就发生了脏读

    --不可重复读 读不回去了
    --A事务在进行相同条件查询的时候,(两次或者两次以上)出现了每次结果不一样,因为在查询期间有其他事务进行了update操作,导致结果不一致


    --幻读 读多了
    --A事务在进行相同条件查询的时候,因为在查询期间发现记录数不一样了 ,因为进行了insert操作,导致结果不一致

    --隔离级别
    --1. 1 Read uncommitted 脏读
    --2. 2 Read committed 避免脏读 会有重复读和幻读
    --3. 4 repeatable read 可重复读 避免不可重复读
    --4. 8 serializable 避免幻读 这样性能会低

    --repeatable read 在mysql里面既能避免不可重复读,还能避免幻读


    --1关闭A自动提交
    set autocommit =0;
    --3开启事务
    start transaction;
    --4执行更新
    update tableA set nane='je' where id='1';
    --6回滚
    rollback;

    --2设置B隔离级别 读到A的未提交的数据uncommitted
    --Read uncommitted(脏读)Read committed(不脏读)||repeatable read (重复读)|| serializable(幻读)
    set session transaction isolation level Read uncommitted;
    --5执行查询 查询结果为je
    select * from tableA ;
    --7 结果为原来的不是je
    select * from tableA ;

  • 相关阅读:
    npm常用命令
    关于事件委托和时间冒泡(以及apply和call的事项)
    js 杂记
    angular中关于ng-repeat的性能问题
    关于日期的一些东西
    杂记
    angular中关于自定义指令——repeat渲染完成后执行动作
    angular中事件戳转日期的格式
    ES6-promise
    angular中ng-class的一些用法
  • 原文地址:https://www.cnblogs.com/simly/p/11669883.html
Copyright © 2011-2022 走看看