`
阿尔萨斯
  • 浏览: 4178759 次
社区版块
存档分类
最新评论

什么是事务?

 
阅读更多

数据库事务是指作为单个逻辑工作单元执行的一系列操作。

数据库事务的ACID属性

事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久性)属性:

· 原子性

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

· 一致性

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

· 隔离性

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

· 持久性

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

分享到:
评论

相关推荐

    mysql面试题-mysql经典面试题目-数据库的基本概念-SQL语法-事务处理-索引优化-性能调优-mysql-面试题目

    什么是关系数据库管理系统(RDBMS)? 什么是SQL?列举一些常见的SQL命令。 什么是索引?为什么使用索引可以提高查询性能? 什么是事务?MySQL如何支持事务处理? 什么是主键和外键?它们之间有什么区别? 什么...

    100个C#面试题

    什么是锁? 2 3.什么是索引,有什么优点? 2 4.视图是什么?游标是什么? 2 5.什么是存储过程?有什么优点? 2 6.什么是触发器? 3 7.简单介绍下ADO.NET和ADO主要有什么改进? 3 8.如何把一个array复制到arrayist里 ...

    100道mysql面试题.docx

    7. 什么是事务? 事务是一组数据库操作,要么全部执行成功,要么全部回滚。 8. 什么是ACID属性? ACID是指原子性、一致性、隔离性和持久性,它们是事务的四个基本属性。 9. 什么是触发器? 触发器是一种特殊的存储...

    MySQL面试题(记得被问过的一些题目)

    char和varchar两种数据类型的区别与适用场景? 关联查询INNER JOIN、LEFT JOIN 、RIGHT JOIN的区别与适用场景? 索引分类? 索引区别?...什么是事务? 事务的特性与适用场景? 事务的隔离级别与适用场景?

    SQL面试题目汇总.pdf

    什么是锁?什么叫视图?游标是什么?为管理业务培训信息,建立3个表:NULL是什么意思?什么是索引?SQL Server 2000里有什么类型的索引?什么是主键?什么是外键?什么是触发器?SQL Server 2000有什么不同类型的触发器?对...

    MYSQL常见的面试题带答案

    2. 什么是事务? 事务是一组数据库操作语句的集合,这些语句的执行要么全部成功,要么全部失败。事务的 ACID 特性保证了事务的正确性和稳定性。 3. 什么是索引? 索引是一种数据结构,用于提高数据库查询性能。...

    mysql面试题,面试会问到的基础问题

    6. 什么是事务? 7. 什么叫视图? 8. 视图创建和使用语法? 9. 游标是什么? 10. 你能向我简要叙述一下SQL Server 中使用的一些数据库对象吗? 11. NULL是什么意思? 12. 什么是索引,有哪些索引,具体怎么用? ...

    MySQL自整理超全精华版面试八股文

    什么是事务? 事务的四大特性(ACID) 并发事务带来的问题 事务的隔离级别 MySQL事务的隔离级别通过什么实现? 什么是MVCC? 锁 MySQL锁定的类型有那些 InnoDB引孳的行锁是怎么实现的? InnoDBi引擎的行锁的三种算法 ...

    mysql常见的几个面试题.txt

    什么是事务? 事务是一个操作序列,其中一组操作要么全部执行成功,要么全部执行失败。事务支持 ACID 特性,即原子性、一致性、隔离性和持久性。 什么是视图? 视图是一个虚拟的表,它从一个或多个表中检索数据。...

    事务日志被填满的原因是什么?.

    事务日志被填满的原因是什么?SQL Server 事务日志被填满的可能潜伏的因素......

    MySQL常见面试题.pdf

    什么是关系数据库管理系统(RDBMS)? 2. 解释主键、外键和索引在数据库中的作用。 3. 什么是事务?如何确保事务的原子性和一致性? 4. 如何创建一个数据库和表格? 5. 如何向表格中插入数据? 6. 如何使用 SELECT ...

    Mysql经典面试题.pdf

    2.什么是事务? 事务是一组数据库操作的集合,它们被视为一个逻辑单元,并且要么全部成功执行,要么全部失败回滚。事务具有ACID特性,即原子性、一致性、隔离性和持久性。 3.InnoDB和MyISAM的区别是什么? InnoDB和...

    MySQL高级面试题及答案,企业真面试题.md

    解释一下什么是事务? 事务是一组SQL语句的执行单元,它们要么全部执行成功,要么全部回滚。事务可以保证数据的一致性和完整性。在MySQL中,事务支持ACID特性,即原子性(Atomicity)、一致性(Consistenc

    C#120问(重点难点)

    什么是锁? 答:事务是指一个工作单元,它包含了一组数据操作命令,并且所有的命令作为一个整体一起向系统提交或撤消请求操作,即这组命令要么都执行,要么都不执行。  锁是在多用户环境中对数据的访问的限制。Sql...

    事务

    什么是事务? 事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部失败。在不同的环境中,都可以有事务。对应在数据库中,就是数据库事务。(访问并可能操作各种数据项的一个数据库操作序列)...

    MySQL事务与锁机制详解

    1.1 什么是事务? 事务是逻辑上的一组操作,组成这组操作的各个逻辑单元,要么一起成功,要么一起失败。 1.2 哪些引擎支持事务 InnoDB支持事务 1.3 事务的四大特性 原子性(Atomicity):强调事务的不可分割,也就...

Global site tag (gtag.js) - Google Analytics