MySQL事物的ACID特性

  • 前言
  • 一、原子性(atomicity)
  • 二、一致性(consistency)
  • 三、隔离性(isolation)
  • 四、持久性(durability)

前言

事物指的是:一组逻辑单元,使数据从一种状态转移到另外一种状态。事物处理的原则是:保证所有的操作都作为一个工作单元来执行,即使出现故障,都不能改变这种执行方式。当在一个事物中执行多个操作时,要么所有的事物都被提交,要么数据库将放弃所有的修改,整个事物回滚到最初状态

一、原子性(atomicity)

原子性是指事物是一个不可分割的工作单位,要么全部提交,要么全部失败回滚

二、一致性(consistency)

一致性是指事物执行前后,数据从一个合法性状态变换到另外一个合法性状态,这种状态是语义上的,而不是语法上的,跟具体业务有关

合法的数据状态是指满足预定的约束。状态是由自己来定义的(比如满足现实世界中的约束)。满足这个状态,数据就是一致的,不满足这个状态,数据就是不一致的。如果事物中的某个操作失败了,系统就会自动撤销当前正在执行的事物,返回到事物操作之前的状态

三、隔离性(isolation)

事物的隔离性是指一个事物的执行不能被其他事物干扰,即一个事物内部的操作及使用的数据对并发的其他事物是隔离的,并发执行的各个事物之间不能互相干扰

四、持久性(durability)

持久性是指一个事物一旦被提交,它对数据库中数据的改变是永久性的,接下来的其他操作和数据库故障不应该对其有任何影响

持久性是通过事物日志来保证的,日志包括了重做日志和回滚日志。当我们通过事物对数据进行修改时,首先会将数据库的变化信息记录到重做日志中,然后再对数据库中对应的行进行修改。这样做的好处是,即使数据库系统奔溃,重启后也能找到没有更新到数据库系统中的重做日志,重新执行,从而使事物具有持久性

MySQL:事物ACID特性相关推荐

  1. 深入理解Mysql事务ACID特性以及事务隔离级别

    事务的概念: 1.事务是一组sql语句的执行,要么全部成功,要么全部失败.保证事务执行的原子性. 2.事务的全部sql语句执行成功,才能提交,将结果写回到磁盘上. 3.事务执行过程中,有的SQL执行失 ...

  2. 不属于mysql事物的特性_mysql基础---事务 事务的四大特性(ACID) 四种隔离级别

    一.事务 mysql中,事务是一个最小的不可分割单元.事务能够保证一个业务的完整性. eg:银行转账 a -> -100 update user set money=money-100; b - ...

  3. MySQL事务ACID特性

    一.事务的基本要素(ACID) 1.原子性(Atomicity):MySQL事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节.事务执行过程中出错,会回滚到事务开始前的状态,所有的操 ...

  4. 数据库的事务ACID特性以及MySQL如何保持事物特性

    数据库的ACID特性 1.原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响 ...

  5. 详述MySQL事务及ACID特性的实现原理

    " 事务是 MySQL 等关系型数据库区别于 NoSQL 的重要方面,是保证数据一致性的重要手段. 本文将首先介绍 MySQL 事务相关的基础概念,然后介绍事务的 ACID 特性,并分析其实 ...

  6. 谈谈MySQL InnoDB存储引擎事务的ACID特性

    2019独角兽企业重金招聘Python工程师标准>>> 1.前言 狼哥一直对数据库Mysql这块没有进行过系统的深入学习,今天看到一篇文章写的还不错,特意分享一下,我不能保证文章中所 ...

  7. ACID特性的实现原理与MySQL事务的关系

    深入学习MySQL事务:ACID特性的实现原理 事务是MySQL等关系型数据库区别于NoSQL的重要方面,是保证数据一致性的重要手段.本文将首先介绍MySQL事务相关的基础概念,然后介绍事务的ACID ...

  8. MySql:事务的ACID特性

    目录 一.事务概念 二.事务的ACID特性 一.事务概念 定义: 一个事务是由一条或者多条SQL语句所组成的一个不可分割的单元,只有事务中的所有操作都正常执行完,那么整个事务才能被提交到数据库.如果有 ...

  9. MySQL事务原理分析(ACID特性、隔离级别、锁、MVCC、并发读异常、并发死锁以及如何避免死锁)

    MySQL事务原理分析(ACID特性.隔离级别.锁.MVCC.并发读异常.并发死锁以及如何避免死锁) 一.事务 目的 组成 特征 事务空间语句 二.ACID特性 原子性(A) 隔离性(I) 持久性(d ...

最新文章

  1. C++友元函数和友元类(C++ friend)详解
  2. Oracle获取表字段名,字段类型,字段长度,注释
  3. 看了一个月c能学java_学过一点C语言的可以自学java吗?应该怎样开始?
  4. 苏州飘“彩云” 五年规模破百亿元
  5. 浙江省工程师职称英语和计算机考试报名,浙江省工程师职称英语免考条件
  6. Mr.J--C语言头函数的建立(附严薇敏《数据结构》线性表代码)
  7. “好师父”如何破解大学生就业难题
  8. Android 自定义ViewGroup
  9. spring cloud构建互联网分布式微服务云平台-Spring Cloud Commons 普通抽象
  10. 如何制作通讯录vcf_批量信息从表格导入手机“通讯录”
  11. MATLAB实现冒泡排序-M文件
  12. 定性分析 or 定量分析
  13. 并发调度的可串行性:可串行化调度、冲突可串行化调度、两段锁协议
  14. 基于js的火星坐标、百度坐标、WGS84坐标转换
  15. 基于因果逻辑库的定性事件结果及结果方向性预测
  16. Android Studio——飞入文字动画演示
  17. 《山海经》第一卷(南山经)南山一经
  18. 十字链表与邻接多重表的画法
  19. 地球罕见的九大自然现象
  20. 【项目总结】电厂安全培训管理系统总结

热门文章

  1. Mininet 上启用 DCTCP 和 ECN 进行拥塞控制、使用 HTB 和 RED 队列进行流量控制
  2. VMware虚拟机克隆后 不能重启网络
  3. 中国达沃斯域名,被大连小伙成功注册www.chinadavos.com(转)
  4. 风控策略分析中常说的事件策略规则都是些什么样的内容
  5. 机遇与挑战并存~5G商业牌照发放为行业带来哪些新发展商机?
  6. python画累积分布图_python累积分布图
  7. IT小学员的避雷手册1--学习心态篇
  8. 买保险到底有哪些好处
  9. ArcGIS Server10.4安装教程
  10. rtmp服务器搭建-windows