1.什么是事务。

事务就是一组原子性的SQL 查询,或者说一个独立的工作单元。如果数据库引擎能够成功的对数据库应用该组查询的全部语句,那么就执行该组查询。

2.事务的特性(ACID)

原子性(atomicity)

一个事务必须被视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作,这就是事务的原子性。

原子性就是要么做,要不不做,里面的SQL 要么都成功,要么都不成功。undo log回滚日志,记录SQL 执行的相关信息,innodb实现回滚靠的是undo log

一致性(consistency)

数据库总是从一个一致性的状态转换到另外一个一致性的状态。事务最终没有提交下,事务中所做的修改也不会保存到数据库中。

体现数据库完整性没有被破坏,数据前后一致。

A 转账B 100,结果是 A 少100, B 多100, 前后一致。

隔离性(isolation)

通常来说,一个事务所做的修改在最终提交以前,对其他事务是不可见的。

事务内部的操作与其他的事务是隔离的,并发执行的各个事务之间不能互相干扰。

一个事务写操作对另一个写操作影响:锁机制保证隔离

一个事务写操作对另一个读操作影响:MVCC 保证隔离

持久性(durability)

一旦事务提交,则其所做的修改就会永久保存到数据库中。此时即使系统崩溃,修改的数据也不会丟失。(就是说事务一旦提交,对数据库的改变是永久的)

总结:

一个兼容ACID的数据库系统,需要做很多复杂但可能用户并没有觉察到的工作,才能确保ACID的实现就像锁粒度的升级会增加系统开销一样,这种事务处理过程中额外的安全性,也会需要数据库系统做更多的额外工作。

一个实现了ACID的数据库,相比没有实现ACID的数据库,通常会需要更强的CPU处理能力、更大的内存和更多的磁盘空间。用户可以根据业务是

否需要事务处理,来选择合适的存储引擎。对于一些不需要事务的查询类应用,选择个非事务型的存储引擎,可以获得更高的性能。即使存储引擎不支持事务,也可以通过LOCK TABLES语句为应用提供一定程度的保护,这些选择用户都可以自主决定。

acid事务 mysql_MySQL 事务ACID特性相关推荐

  1. 事务的四个特性-ACID

    事务的四个特性-ACID 事务是恢复和并发控制的基本单位. 事务是并发控制的单位,是用户定义的一个操作序列.这些操作要么都做,要么都不做,是一个不可翻个的工作单位 一个转账必须A账号扣钱成功,B账号加 ...

  2. 什么是事务、事务的四个特性ACID、不考虑隔离性会导致的三个问题、四种隔离级别

    什么是事务.事务的四个特性ACID.不考虑隔离性会导致的三个问题.四种隔离级别 1 什么是事务 2 事务的四大特性ACID 2.1 原子性 2.2 一致性 2.3 隔离性 2.4 持久性 3 不考虑隔 ...

  3. 数据库事务必须具备的特性:ACID【转】

    from:http://zh.wikipedia.org/wiki/ACID ACID,是指在数据库管理系统(DBMS)中事务所具有的四个特性:原子性(Atomicity).一致性(Consisten ...

  4. 事务的4个特性——ACID(原子性、一致性、隔离性和持久性)、更新丢失问题...

    事务的4个特性--ACID(原子性.一致性.隔离性和持久性) 事务是一个操作序列.这些操作要么都做,要么都不做,是一个不可分割的工作单位.事务通常以BEGIN TRANSACTION开始,以COMMI ...

  5. 什么是事务,事务的ACID特性

    一.什么是事务 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消.也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做. 事务的结 ...

  6. 数据库事务(Transaction)的ACID特性解释

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

  7. 什么是事务?事务的基本操作、事务的隔离性问题、事务的ACID特性

    文章目录 1.什么是事务? 2.事务的基本操作 2.事务操作的注意事项 3.事务的隔离级别 3.1 无隔离性的问题 3.1.1 脏读 3.1.2 不可重复读 3.1.3 幻读 3.2 事务的隔离级别 ...

  8. 数据库 - 事务管理(ACID)隔离级别 事务传播行为

    转载自   数据库 - 事务管理(ACID)隔离级别 事务传播行为 总览: 事务的4大特性(ACID) 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前 ...

  9. MySQL事务篇:ACID原则、事务隔离级别及事务机制原理剖析

    引言 众所周知,MySQL数据库的核心功能就是存储数据,通常是整个业务系统中最重要的一层,可谓是整个系统的"大本营",因此只要MySQL存在些许隐患问题,对于整个系统而言都是致命的 ...

  10. Mysql事务以及加锁机制事务的特征ACID

    Mysql事务以及加锁机制 事务的特征ACID,即原子性.一致性.隔离性.持久性. 原子性保证一个事务为一个最小的单元,内部不可分割: 一致性保证事务中的每个操作线程不可单独提交,成功则一起提交,不成 ...

最新文章

  1. 怎么读懂python语句_Python入门基础知识点总结,一点文章就能让你看懂Python
  2. Tensorflow— saver_restore
  3. JDBC--Statement,PreparedStatement,CallableStatement的区别
  4. 神经网络和深度学习各类概念名词解析
  5. C语言查找单链列表的第k个元素的算法(附完整源码)
  6. Kubernetes 1.14重磅来袭,多项关键特性生产可用
  7. SQLserver语句命令
  8. linux内核启动过程2:保护模式执行流程
  9. 绘制等压面图_等压面练习
  10. C++11新特性之decltype关键字的使用
  11. 注册表修改大全(浏览文章时可以使用CTRL+F查找)
  12. ubuntu系统使用命令行播放MP3歌曲
  13. MongoDB 表设计
  14. linux 小度 驱动_糯米WiFi安装Linux驱动 (同时支持百度WiFi、小米WiFi、腾讯全民WiFi、360WiFi)...
  15. 已取消到该网页的导航 桌面右下角
  16. 【Windows MTU】Windows上最大传输单元MTU值的查看和设置
  17. 这么选家用投影仪,再也不交智商税
  18. C#正则查找字符串是否包含字母
  19. mysql 枚举字段_MySQL字段中的枚举
  20. 工业相机接口和采集卡

热门文章

  1. 【目标定位】基于matlab扩展卡尔曼滤波目标定位仿真【含Matlab源码 128期】
  2. 【水果识别】基于matlab PCA苹果酸甜度识别【含Matlab源码 1634期】
  3. 【配送路径规划】基于matlab遗传算法求解单配送中心多客户多车辆最短路径规划问题【含Matlab源码 1602期】
  4. 【水果识别】基于matlab GUI RGB+HSV水果成熟度分级系统【含Matlab源码 825期】
  5. 【人脸表情识别】基于matlab GUI CNN人脸表情识别【含Matlab源码 787期】
  6. 【基础教程】基于matlab图像处理图像分割【含Matlab源码 191期】
  7. js打印线程id_理解Python多线程:通过易懂的小例子展开第一篇
  8. ai人工智能对话了_对话式AI:智能虚拟助手和未来之路。
  9. ai星际探索 爪子_探索AI地牢
  10. 感知机算法—推导收敛次数的上界