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. 如何使用TensorFlow Eager执行训练自己的FaceID ConvNet
  2. DDD分层架构最佳实践
  3. 几种支持REST的Java框架
  4. 再见,CentOS!
  5. boost::multi_array模块调整 multi_arrays 大小的测试
  6. router-link标签学习
  7. 你真的会发朋友圈吗?
  8. Hightopo 2D 入门
  9. html中复选框只能选一个,HTML选择三个不同的复选框并显示它们
  10. Python绘制XRD图谱和对应pdf卡片堆叠图
  11. 微信内置浏览器无法下载文件应用的解决方案
  12. 牛逼,个人开发者可以申请微信支付了!
  13. 小样本论文笔记5:Model Based - [6] One-shot learning with memory-augmented neural networks.
  14. layui文件上传后台(带自定参数)
  15. Qt程序移植到ARM
  16. 无法启动此程序,因为计算机中丢失rtl70.bpl怎么修复教程
  17. 微信通过JSSDK分享朋友圈
  18. eCharts实现多图表切换
  19. syntax error near unexpected token 脚本报错误解决【转】
  20. Outlook 错误号 0x800CCC0B,怎么解决?

热门文章

  1. 信号处理——Hilbert端点效应浅析
  2. 为什么1个字节(byte)是8个比特(bit)
  3. Ubuntu server 硬盘挂载教程
  4. 互动媒体技术作业2优秀博文推荐
  5. mysql gui tools ojdbc14.jar_OJDBC版本区别 [ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别]
  6. autocomplete触发事件_AutoCompleteBox实现鼠标点击后实现查询功能
  7. 立体角(Solid Angle)
  8. Android GreenDao简单使用
  9. Excel如何将某单元格区域数据随机排序
  10. android仿ios菊花,android仿IOS 旋转菊花Loading、等待Loading、花瓣