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 ;

  • 相关阅读:
    js,jQuery实现可关闭悬浮框广告特效,兼容(谷歌,火狐,Ie)
    各种选择框jQuery的选中方法
    表单校验demo
    两种方法实现城市级联菜单
    树形菜单
    匿名函数和鼠标移入移除事件
    多线程实例
    Lock锁
    Oracle语句
    Java NIO
  • 原文地址:https://www.cnblogs.com/simly/p/11669883.html
Copyright © 2011-2022 走看看