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)的数据。两次读取返回的记录数不一样。

  • 相关阅读:
    观察者模式
    php中compact,extract,list函数的使用
    加密解密
    python 线程池proxypool
    python qq音乐下载
    python 网易云音乐
    python 知识点
    python 格式化 header
    python 爬取百度图片
    php 过滤掉多维数组空值
  • 原文地址:https://www.cnblogs.com/smartrui/p/11889862.html
Copyright © 2011-2022 走看看