数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。

原子性(Atomic)(Atomicity)

事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的操作具有共同的目标,并且是相互依赖的。如果系统只执行这些操作的一个子集,则可能会破坏事务的总体目标。原子性消除了系统处理操作子集的可能性。

一致性(Consistent)(Consistency)

事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。某些维护一致性的责任由应用程序开发人员承担,他们必须确保应用程序已强制所有已知的完整性约束。例如,当开发用于转帐的应用程序时,应避免在转帐过程中任意移动小数点。

隔离性(Insulation)(Isolation)

由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为隔离性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。当事务可序列化时将获得最高的隔离级别。在此级别上,从一组可并行执行的事务获得的结果与通过连续运行每个事务所获得的结果相同。由于高度隔离会限制可并行执行的事务数,所以一些应用程序降低隔离级别以换取更大的吞吐量。

持久性(Duration)(Durability)

事务完成之后,它对于系统的影响是永久性的。该修改即使出现致命的系统故障也将一直保持。

简述mysql的事务_请简述为什么要使用数据库的事务相关推荐

  1. mysql链接出错_请配置/amysql/config.php文件_MySQL数据库之PHP连接mysql时mysql_connect()函数不可用...

    本文主要向大家介绍了MySQL数据库之PHP连接mysql时mysql_connect()函数不可用 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 我在搭建环境时也没有再安装m ...

  2. mysql mongodb 事务_认识MongoDB 4.0的新特性——事务(Transactions)

    前言 相信使用过主流的关系型数据库的朋友对"事务(Transactions)"不会太陌生,它可以让我们把对多张表的多次数据库操作整合为一次原子操作,这在高并发场景下可以保证多个数据 ...

  3. jdbc事务 jta事务_将非事务性资源绑定到JTA事务中的几种模式

    jdbc事务 jta事务 我最近发表了一篇有关如何将非事务性资源(如Web服务/微服务)绑定到全局分布式事务中的文章,以便自动处理恢复. 多年来,我经常不得不将"非事务性"系统集成 ...

  4. 简述mysql完全备份过程_【SQL】MySQL之使用mysqldump全备份及恢复过程详解_MySQL

    mysqldump bitsCN.com [SQL]MySQL之使用mysqldump全备份及恢复过程详解 [目标]使用mysqldump做全备,结合mysql自带的binlog功能实现增量备份 为了 ...

  5. iar怎么新建立项目_请简述IAR中创建一个应用项目的步骤及配置过程。

    [多选题]公路工程中应用的石灰要求达到( ). [多选题]在石灰工业废渣稳定土施工前,取有代表性石灰样品进行下列试验( ). [单选题]在沥青混合料中掺加适量消石灰粉,可以有效提高沥青混合料的( ). ...

  6. python解释器搜索模块位置的顺序_请简述Python解释器搜索模块位置的顺序

    在参加大型商务正式宴会时,由于与会者众多,往往需要赴宴者首先在注册台去拿自己的姓名胸牌(Name Tag)以利于入席后与他人社交.请问姓名胸牌需要如何佩戴才是恰当的?? 戴在右胸上,这样在握手时对方会 ...

  7. python在工业机器人上的应用_请简述工业机器人主要应用场合

    满意答案 工业机器人主要应用场合: 1.机械加工应用(2%) 机械加工行业机器人应用量并不高,只占了2%,原因大概也是因为市面上有许多自动化设备可以胜任机械加工的任务.机械加工机器人主要从事应用的领域 ...

  8. 简述mysql事件作用_MYSQL使用简述

    1.如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了.也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就OK. 2.你可以使用光标上下键调出以前的命令 ...

  9. 禅道 mysql 远程连接_远程访问禅道开源版数据库(基于docker)

    软件测试 远程访问禅道开源版数据库(基于docker) navicat访问基于docker搭建的禅道的数据库,报错"2003 can't connect to MySQL server on ...

最新文章

  1. 时间周期 java_周期和持续时间 / Period and Duration
  2. 上海计算机应用基础自考上机,上海2010年自考计算机应用基础上机大纲
  3. 斐波那契数列矩阵快速幂
  4. php js动态删除数组元素,javascript如何删除数组中的指定元素
  5. 回溯法解决01背包问题
  6. vue开发小程序Demo
  7. MySQL提示The server quit without updating PID file问题的解决办法
  8. [jQuery基础] jQuery动效
  9. 顺利通过EMC实验(9)
  10. git相关常用基本用法命令及分支操作指南命令
  11. 泰勒公式推导过程_#泰勒#(Taylor)公式真的很难很难吗?
  12. java中二叉树_Java工程师面试1000题224-递归非递归实现二叉树前、中、后序遍历...
  13. SQL SERVER 2008 恢复远程备份文件
  14. java字符串转字符串数组_Java字符串数组到字符串
  15. Oracle Study之案例--安装Oracle内核参数配置
  16. WinApi学习笔记-内存管理
  17. VScode下载及安装完整教程(详细版)
  18. LibCef中的一些坑
  19. 安卓Alarm闹钟唤醒耗电问题的排查
  20. google 安装去广告插件

热门文章

  1. 图解读写锁:pthead_rwlock_t
  2. __attribute__((unused)):可能不会用到,消除编译警告
  3. Android2D绘图二
  4. 编写函数main求3!+6!+9!python_Python day 6(3) Python 函数式编程1
  5. ShadeGraph教程之节点详解4:Master Nodes
  6. 清空linux+history_1分钟学会的Linux小技巧,大大提高你的工作效率
  7. 千月影视双端源码开源版_最新支持双端神器更新,属实有点牛逼!
  8. OpenShift 4 - Knative教程 (3) 了解Knative Serving的核心对象
  9. 蓝牙鼠标windows linux,Ubuntu下使用蓝牙无线鼠标[图]
  10. linux cat 筛选文件夹,Linux 基础命令 -- cat、sort、uniq、wc、head、tail、tee