一、事务的基本要素(ACID)

1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。

2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B转账,不可能A扣了钱,B却没收到。

3、隔离性(Isolation):同一时间,只允许一个事务请求同一数据,不同的事务之间彼此没有任何干扰。比如A正在从一张银行卡中取钱,在A取钱的过程结束前,B不能向这张卡转账。

4、持久性(Durability):事务完成后,事务对数据库的所有更新将被保存到数据库,不能回滚。

二、事务的并发问题

1、脏读:事务A读取了事务B更新的数据,然后B回滚操作,那么A读取到的数据是脏数据

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

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

小结:不可重复读的和幻读很容易混淆,不可重复读侧重于修改,幻读侧重于新增或删除。解决不可重复读的问题只需锁住满足条件的行,解决幻读需要锁表

三、MySQL事务隔离级别

数据库事务及隔离级别相关推荐

  1. 「DB」数据库事务的隔离级别

    2019独角兽企业重金招聘Python工程师标准>>> 数据库事务的隔离级别 讲事务的隔离级别之前,先来介绍一下数据库事务的几个特性: (1)原子性 最基本的特性,意思是在一个事务内 ...

  2. 数据库---事务的隔离级别

    首先,我们下面说的数据库事务,都是使用INNODB引擎的结果. MYISAM是没有事务的,也就没有下面这些说法. 1.数据库事务的四大特性: 原子性:事务包含的所有数据库操作要么全部成功,要不全部失败 ...

  3. 数据库事务的隔离级别(三浅一深,秒懂!!!)

    数据库事务的隔离级别 数据库事务的隔离级别有4个,由低到高依次为Read uncommitted.Read committed.Repeatable read.Serializable,这四个级别可以 ...

  4. MYSQL数据库事务的隔离级别(详解)

    一.概述 数据库事务的隔离级别分为四种:(后面为解决的问题,结合下文案例深入理解) 1.读未提交(Read Uncommited)事务1修改的数据被事务2给回滚了 2.读已提交(Read Commit ...

  5. 数据库事务、隔离级别及其应用

    数据库事务.隔离级别及其应用 一.数据库事务 事务(Transaction):是并发控制的单元,是用户定义的一个操作序列.这些操作要么都做,要么都不做,是一个不可分割的工作单位.通过事务,sql se ...

  6. mysql数据 锁 隔离级别_MySQL数据库事务各隔离级别加锁情况--read uncommitted篇

    1.目的 1.1 合适人群 1.数据库事务特征我只是背过,并没有很深刻的理解. 2.数据库事务的隔离级别只是了解,并没有深刻理解,也没有在实际工作中体验使用过. 3.经常面试被人问起数据库加锁情况,一 ...

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

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

  8. mysql隔离级别加锁情况_MySQL数据库事务各隔离级别加锁情况--read committed amp;amp; MVCC...

    上节回顾 上篇记录了我对MySQL 事务 隔离级别read uncommitted的理解. 这篇记录我对 MySQL 事务隔离级别 read committed & MVCC 的理解. 前言 ...

  9. 数据库事务的隔离级别

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

  10. 数据库事务的隔离级别简单总结

    数据库中事务的隔离级别有四种.级别由低到高分别为:Read uncommitted.Read committed. Repeatable read和Serializable 四种.这四个级别能够逐个解 ...

最新文章

  1. c++ 11 多线程处理(1)
  2. .NET中的枚举(Enum)
  3. 【瓜分5000元奖金】Wannafly挑战赛13
  4. 有BUG!!!慎用default文本
  5. TypeError: Cannot read property ‘publish‘ of undefined“报错问题解决
  6. 诛仙服务器列表文件,诛仙云服务器
  7. 自己的工作计划-备忘
  8. 服务高可用利器——限流算法介绍与示例
  9. 蓝桥杯 字母组串(递归)
  10. FLOPs和模型参数计算
  11. ioswifi信号测试软件app,‎App Store 上的“Speedtest - 网络测速测量和wifi分析仪”...
  12. cimfax显示无法连接到服务器,CimFAX传真机软件
  13. springboot+华迪企业合同管理平台 毕业设计-附源码191555
  14. 百度地图生成器添加标注后图标不显示的解决方法
  15. html nav标签无序排列,web前端分享HTML5中的nav标签
  16. u盘中毒(U盘所有的文件都变成快捷方式)的解决方法
  17. 2020-05-10 华为机考机试题目两题
  18. supervisor服务
  19. linux的日志处理之Logrotate
  20. Js中两个等号(==)和三个等号(===)的区别

热门文章

  1. 我让代码生了个孩子继承了他爸爸谁知他爸爸继承了他爷爷(16)
  2. 华为ar2200路由器 策略路由_路由交换篇 06 华为路由器RIP协议的配置
  3. 【COMA】一种将团队回报拆分为独立回报的多智能体算法
  4. 软件测试实验报告下载 实验一到实验五
  5. 每日一笑 | 在俄罗斯人眼里,没有什么是胶带解决不了的
  6. java定义接口_一文知道Java中接口的定义
  7. emacs python_Emacs之Python编程环境配置 - elpy
  8. 增长率不用计算机,事业单位行测:这类资料分析题根本不用计算
  9. 手把手教你java快速过滤关键词
  10. mysql5.5 mysqli_php5.5.38增加mysqli扩展