美文网首页
数据库事务

数据库事务

作者: 靈08_1024 | 来源:发表于2019-07-24 10:37 被阅读0次

本文(其实不止本文,我现在的多数思想都是)多数来源于多于infoQ中一位大神文章的理解。感谢程序员这个行业,everything is opened!If you can,anything will be your's! 再次传播一下,http://www.hollischuang.com。作为一只小白,会有你想要的!

事务的四大特性:原子性、一致性、隔离性、持久性。

事务的隔离现象

脏读:事务A读取了事务B未提交的数据。
不可重复读:事务A两次读取到的数据不一样(事务B在中间进行了修改)。
幻读:事务A两次读到的数据不一样(事务B在中间进行了增删)。

事务的隔离级别

未提交读(read uncommitted):所有隔离级别都会出现。

  • 事务在读时不加锁;写加行级共享锁。

提交读(read committed):脏读不会出现,幻读和不可重复读还会出现。

  • 事务读取时行级共享锁,读完即释放;写加行级排它锁;事务结束才释放。(因为读时共享的,所以可以A先读,B读且改并提交,A再读就不一样了。)

可重复读(repeatable reads):脏读、不可重复读都不会出现,幻读会出现。

  • 事务读取时行级共享锁,事务结束才释放;写加行级排它锁,事务结束才释放。

可序列化(Serializable):所有现象都不会出现。

  • 读加表级共享锁;写加表级排它锁。

因为在可序列化的隔离级别中,数据库不能 增删改 同一张表中的两条不同的数据,对于性能有很大的影响,所以MySQL默认的隔离级别是可重复读

参考:事务的隔离级别

spring中的事务的传播行为

PROPAGION_XXX :事务的传播行为

  • 保证同一个事务中
    PROPAGATION_REQUIRED 支持当前事务,如果不存在 就新建一个(默认)
    PROPAGATION_SUPPORTS 支持当前事务,如果不存在,就不使用事务
    PROPAGATION_MANDATORY 支持当前事务,如果不存在,抛出异常
  • 保证没有在同一个事务中
    PROPAGATION_REQUIRES_NEW 如果有事务存在,挂起当前事务,创建一个新的事务
    PROPAGATION_NOT_SUPPORTED 以非事务方式运行,如果有事务存在,挂起当前事务
    PROPAGATION_NEVER 以非事务方式运行,如果有事务存在,抛出异常
    PROPAGATION_NESTED 如果当前事务存在,则嵌套事务执行

参考:spring中的事务

相关文章

  • Django之数据库事务编程

    在了解 Django 数据库事务编程前有必要先了解下数据库事务。 数据库事务(transaction) 数据库事务...

  • 数据库笔记

    数据库 数据库⭐MySQL 默认存储引擎InnoDB(事务性存储引擎)一、事务 数据库事务? 数据库事务有什么作用...

  • 数据库事务简介(一)--- 所谓事务

    事务的概念 数据库事务简介(一)--- 所谓事务数据库事务简介(二)--- 故障恢复(未完成)数据库事务简介(三)...

  • Spring学习之事务管理基础

    Spring学习之事务管理基础 数据库事务相关概念 事务的定义 事务,一般指的是数据库事务,是指数据库操作的时候,...

  • 事务及事务隔离级别

    事务及事务隔离级别 什么是事务 事务是访问数据库的一个操作序列,数据库应用系统通过事务集来完成对数据库的存取。事务...

  • 搞懂Redis(四)-Redis事务

    事务本质:一组命令的集合 数据库事务与Redis事务 数据库事务数据库事务通过ACID(原子性.一致性.隔离性.持...

  • SpringBoot 数据库事务

    SpringBoot 数据库事务 事务: 数据库事务是 访问并可能更新 数据库中各种数据项的一个程序执行单元 事务...

  • SPRING的事务详解

    一、什么是事务 事务的概念 事务是访问数据库的一个操作序列,数据库应用系统通过事务集来完成对数据库的存取。事务的正...

  • 4.MySQL的事务与锁(1)

    本章要点 1.数据库事务2.MVCC 1 数据库事务 1.1 事务特性 事务具有的特性:ACID(Atomicit...

  • spring事务

    1、什么是事务事务和数据库操作有关,commit事务提交,rollback事务回滚事务作用:保证一组和数据库有关的...

网友评论

      本文标题:数据库事务

      本文链接:https://www.haomeiwen.com/subject/zulgkxtx.html