zoukankan      html  css  js  c++  java
  • mysql数据库事务隔离级别与设置

    mysql数据库,当且仅当引擎是InnoDB,才支持事务;

    转自 https://www.cnblogs.com/huasky/p/11190086.html 

    1、隔离级别

    事务的隔离级别分为:未提交读(read uncommitted)、已提交读(read committed)、可重复读(repeatable read)、串行化(serializable)。

    未提交读

    A事务已执行,但未提交;B事务查询到A事务的更新后数据;A事务回滚;---出现脏数据

    已提交读

    A事务执行更新;B事务查询;A事务又执行更新;B事务再次查询时,前后两次数据不一致;---不可重复读

    可重复读

    A事务无论执行多少次,只要不提交,B事务查询值都不变;B事务仅查询B事务开始时那一瞬间的数据快照;

    串行化

    不允许读写并发操作,写执行时,读必须等待;

    2、数据库设置

    //查看当前事物级别:
    SELECT @@tx_isolation;

    //设置mysql的隔离级别:
    set session transaction isolation level 设置事务隔离级别
    //设置read uncommitted级别:
    set session transaction isolation level read uncommitted;
    
    //设置read committed级别:
    set session transaction isolation level read committed;
    
    //设置repeatable read级别:
    set session transaction isolation level repeatable read;
    
    //设置serializable级别:
    set session transaction isolation level serializable;
  • 相关阅读:
    Tomcat容器,Servlet容器,Spring容器的包含关系
    数据库字段类型导致的前端JSON转换错误
    全局变量和局部变量
    数据库中的timestamp类型数据的存储
    layer的confirm
    网间互联协议
    局域网协议
    局域网络设备
    网络传输介质
    Docker常用命令
  • 原文地址:https://www.cnblogs.com/yangjinqiang/p/13360817.html
Copyright © 2011-2022 走看看