【数据库】事务特性
来源:互联网 发布:网页美工作品 编辑:程序博客网 时间:2024/05/23 19:16
事务定义
Transaction
访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。
通常由高级数据库操纵语言或编程语言书写的用户程序的执行所引起。
在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序。
基本特性
● A:Atomicity - 原子性
整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。
例如:A账户向B账户转100元,需要两个操作:A账户减少100元,B账户增加100元。这两个操作要执行就都执行,要不就都不执行。
● C:Consisitency - 一致性
一个事务可以封装状态改变(除非它是一个只读的)。事务必须始终保持系统处于一致的状态,不管在任何给定的时间并发事务有多少。
例如:A账户向B账户转100元,如果最初A有100元,B有100元。在最后执行完总金额应该还是200(A0,B200)。
● I:Isolation - 隔离性
隔离状态执行事务,使它们好像是系统在给定时间内执行的唯一操作。如果有两个事务,运行在相同的时间内,执行相同的功能,事务的隔离性将确保每一事务在系统中认为只有该事务在使用系统。
例如:网上银行A账户向B账户转100元,ATM机A账户向B账户转100元,如果它们同时执行。通过隔离执行,结果B账户增加了200元。
● D:Durability - 永久性
在事务完成以后,该事务对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。
总结
通常事务中的原子性和一致性总是有些说不清。
原子性侧重是否全部执行,侧重你的整个事务是一个完整的一个整体,不可分割。一致性侧重语义上的数据一致,在业务逻辑上整个数据是保持一致的。
方便理解,也可以把原子性和隔离性用来服务一致性。通过事务的完整执行和分开独立执行,最终达到数据的一致性。
概念的理解和实践应该相结合,概念指导实践,实践深化理解。
理解好这些基础的概念,对我们将来的优化会很有帮助。
- 数据库事务特性
- 数据库事务四大特性
- 数据库事务四大特性
- 数据库事务四大特性
- 数据库事务四大特性
- 数据库事务ACID特性
- 数据库事务四个特性
- 数据库事务四个特性
- 数据库事务四个特性
- 数据库事务的特性
- 数据库事务四大特性
- 数据库事务ACID特性
- 数据库事务四大特性
- 数据库事务四大特性
- 数据库事务四大特性
- 【数据库】事务特性
- 数据库事务及其特性
- 数据库事务四个特性
- linux 中关于查找的指令
- codeforces-732D-Exams(二分)
- 121.122.123.188. Best Time to Buy and Sell Stock I II III IV
- java并发编程
- 如何扩大CMD窗口显示的行数
- 【数据库】事务特性
- 【Windows7使用】任务和开始菜单个性化:运行命令不见了
- java学习路线
- Android分包MultiDex源码分析
- ubantu上安装PHP7的memcached扩展
- dom4j最常用最简单的用法
- Swift 学习笔记 (三) —— Table view徜徉在Data Hierarchy的海洋
- NYOJ - 71 - 独木舟上的旅行(乘船问题)
- 朴素贝叶斯