zoukankan      html  css  js  c++  java
  • mysql事务隔离级别

    简单记录下mysql事务的几种事务隔离级别中,有关脏读,不可重复读,幻读等。

    查看mysql事务隔离级别

    SELECT @@GLOBAL.tx_isolation, @@tx_isolation;

    修改mysql事务隔离级别

    语法为:

    SET [GLOBAL | SESSION] TRANSACTION ISOLATION LEVEL level
    
    level: {
    ​     REPEATABLE READ
       | READ COMMITTED
       | READ UNCOMMITTED
       | SERIALIZABLE
    }
    

    设置全局隔离级别

    set global transaction isolation level read committed;
    

    设置当前会话的隔离级别

    set session transaction isolation level read committed;
    

    SET GLOBAL tx_isolation='REPEATABLE-READ';
    SET SESSION tx_isolation='SERIALIZABLE';
    

    mysql数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable

    脏读

    即读取到的数据是脏的,比如A事务读取了B事务还未提交的数据,这时候B事务出错或回滚了,那么A事务读的数据就是脏的。

    不可重复读

    多次读取同一条数据有可能返回不一样,比如A事务读取到了B事务更新的数据(update),造成前后两次数据不一样。

    幻读

    如A事务读取到了B事务新增(insert)的数据。两次读取返回的记录数不一样。

  • 相关阅读:
    Python mutilprocessing Processing 父子进程共享文件对象?
    BZOJ4836: [Lydsy1704月赛]二元运算
    博弈论刷题记录
    manacher(无讲解)
    UOJ_407_【IOI2018】狼人
    BZOJ_3935_Rbtree
    dsu on tree(无讲解)
    BZOJ_3744_Gty的妹子序列
    后缀数组(无讲解)
    虚树(无讲解)
  • 原文地址:https://www.cnblogs.com/smartrui/p/11889862.html
Copyright © 2011-2022 走看看