数据库事务

事务的基本要素 4大性质

  1. 原子性:事务开始后的所有操作,要么全部成功,要么全部失败回滚,不可能停滞在中间环节.事务执行过程中出错,会回滚到事务开始之前的状态,所有操作就像没有发生一样.也就是说事务是一个不可分割的整体,就像化学中学过的原子,是事务构成的基本单位.
  2. 一致性:事务开始前和结束后,数据库的完整性约束没有被破坏,如A向B转张,不可能出现A扣了钱而B却没有加的情况
  3. 隔离性:同一时间,只允许一个事务请求同一数据,不同事务之间彼此没有任何干扰,如A正在从一张银行卡中取钱,在A取钱的过程结束前,B不能向这张卡转账.
  4. 持久性:事务完成之后,事务对数据库更新将会被保存写在数据库上,不能回滚.

隔离级别

隔离级别定义了一个事务可能受其他并发事务影响的程度。

脏读(Dirty reads)—— 事务A读取了事务B更新的数据,然后B回滚操作,那么A读取到的数据是脏数据。

不可重复读(Nonrepeatable read)—— 事务 A 多次读取同一数据,事务 B 在事务A多次读取的过程中,对数据作了更新并提交,导致事务A多次读取同一数据时,结果不一致。

幻读(Phantom read)—— 系统管理员A将数据库中所有学生的成绩从具体分数改为ABCDE等级,但是系统管理员B就在这个时候插入了一条具体分数的记录,当系统管理员A改结束后发现还有一条记录没有改过来,就好像发生了幻觉一样,这就叫幻读。

不可重复读是指在原本有个数据上进行修改导致一个事务一致都是读到不同的数据, 而幻读则是在原来的数据中的插入,删除等操作导致的.解决不可重复读的问题只需锁住满足条件的行,解决幻读需要锁表


串行化隔离规则类型在开发中很少用到。举个很简单的例子。咱们使用了ISOLATION_SERIALIZABLE规则。A,B两个事务操作同一个数据表并发过来了。A先执行。A事务这个时候会把表给锁住,B事务执行的时候直接报错。

每日一记之数据库事务相关推荐

  1. mysql当前时间减一分钟_MySQL数据库事务的机制【总结】

    php中文网最新课程 每日17点准时技术干货分享 这几天面试多次被问到了数据库事务机制.隔离级别.乐观锁悲观锁类的问题,之前对这些只能说有所了解,有些概念还停留在记忆层面,没有理解,所以回答的不好.后 ...

  2. 数据库事务的四大特性和隔离级别

    数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么全部执行,要么全部都不执行. 一个逻辑工作单元要成为事务,必须满足事务的四大特性(ACID).即 ...

  3. 一个事务中 可以查询自己未提交的数据吗_数据库事务的方方面面

    事务 是关系型数据的一个重要特性,但很少有人能对事务有全面性的了解,这篇文章就把事务的方方面面讲给你. 事务的概念 什么是事务 数据库事务(事务)是数据库管理系统执行过程中的一个逻辑单位,由一个有限的 ...

  4. 阐述一下Mysql事务的四个特性_数据库事务的四个基本性质?

    本文转载:http://www.sqlstudy.com/sql_article.php?id=2008080302 数据库事务概念 什么是数据库事务? 事务(transaction)是由一系列操作序 ...

  5. 分布式事务开局第一篇,从数据库事务隔离级别说起

    来自:江南一点雨 春节临近,松哥也有点无心撸码.不过很多时候,很多事情,我们不能由着自己的性子,还是要控制一下自己,这不,松哥最近又打算开一个坑,和大家聊一聊分布式事务,因为我们做微服务,分布式事务肯 ...

  6. mysql 事务补偿_TCC补偿性策略_彻底学习数据库事务 seata分布式事务 共享 排它锁 死锁 索引 Spring事务 隔离级别等_MySQL视频-51CTO学院...

    课程总计41课时,从什么是事务讲起,直到分布式事务解决方案,很的0基础基础与提升系列课程.对于难以理解的知识点,全部用画图+实战的方式讲解. 彻底明白事务的四个特性:原子性.一致性.隔离性.持久性,用 ...

  7. 数据库事务的ACID特性及含义

    数据库事务的ACID特性及含义 1.原子性(Atomic) 一个事务被视为一个不可分割的最小工作单元,这个事务里的所有操作要么全部成功执行,要么全都不执行,不能只执行其中的一部分操作.实现事务的原子性 ...

  8. 数据库事务的四个隔离级别浅析

    数据库事务的隔离级别有4个,由低到高依次为Read uncommitted (读未提交).Read committed(读提交).Repeatable read(可重复读) .Serializable ...

  9. 数据库 事务的特性ACID

    事务(Transaction)是并发控制的基本单位. 所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位.例如,银行转帐工作:从一个帐号扣款并使另一个帐号增款,这 ...

  10. 数据库事务的隔离级别 (转)

    .NET 提供的数据库事务隔离级别 System.Data.IsolationLevel 枚举用于指定连接的事务锁定行为,它包含如下枚举:   成员名称 说明 Chaos 无法改写隔离级别更高的事务中 ...

最新文章

  1. installshield 安装文件属性的原始文件名 如何修改_iPhone修改微信提示音,iOS12可用,无需越狱详细教程...
  2. linux i3如何运行qq,linux qq (CPU :i3)怎么安装?
  3. Compiling Fortran
  4. ora-01658 :无法为表空间USERS 中的段创建INITIAL区
  5. 【计算机组成原理】微处理器、微型计算机、微型计算机系统
  6. 训练日志 2019.1.14
  7. python自己写包_如何将自己的Python包发布到PyPI
  8. 如何进行筛选数组(源码解析)
  9. MapStruct 详解
  10. 计算机没有无线网卡驱动程序,电脑上没有光驱怎么安装无线网卡驱动 - 驱动管家...
  11. android studio 导入第三方的jar包,add as library的位置
  12. iOS二维码限制区域识别、扫描动画
  13. 关于反向传播算法中几个公式的推导
  14. 微信朋友圈能评论表情包了,来斗图啊!
  15. 关于React报Too many re-renders. React limits the number of renders to prevent an infinite错误的解决方案
  16. MGR中secondary的从节点同步异常?
  17. Ensight——Fluent重叠网格解决方案【翻译】
  18. calibre电子书管理软件
  19. 听说虾皮、斗鱼要求校招生转 Go 了…
  20. C++之模板初阶:甩锅编译器

热门文章

  1. 你还在为python中的列表、元组、字典发愁嘛,别愣着了,快来看!
  2. 创业青年,想赚钱就下乡去吧
  3. ant如何形成时间轴和图库_如何排版微信公众平台的文章?
  4. PayPal怎么提现结汇,美金一直在PayPal压着?
  5. 手动安装K8s第五节:master节点kubectl命令部署
  6. png转jpg java_怎么把图片PNG格式转换成JPG格式?
  7. 【C】 typedef struct LNode * list
  8. 国产ERP有没有机会击败SAP ?
  9. uniapp-页面内/页面间数据的流动传递-this-that
  10. 容安馆札记 606-610则 笺疏