当前位置:网站首页>事务的四大特性
事务的四大特性
2022-07-31 05:50:00 【m0_67402731】
事务的特性
数据库的事务是指一组sql语句组成的数据库逻辑处理单元,在这组的sql操作中,要么全部执行成功,要么全部执行失败。
事务的四大特性:原子性、一致性、隔离性、持久性;
原子性
事务的原子性是指事务必须是一个原子的操作序列单元。事务中包含的各项操作在一次执行过程中,只允许出现两种状态之一,要么都成功,要么都失败。
任何一项操作都会导致整个事务的失败,同时其它已经被执行的操作都将被撤销并回滚,只有所有的操作全部成功,整个事务才算是成功完成。一致性
事务的一致性是指事务在执行不能破坏数据库数据的完整性和一致性,一个事务在执行之前和执行之后,数据库都必须处以一致性状态。
比如:张三给李四转钱,不可能张三被扣了钱,李四没有加钱。隔离性
事务的隔离性是指在并发环境中,并发的事务是互相隔离的,一个事务的执行不能被其它事务干扰。也就是说,不同事物并非操作相同数据时,每个事务都有完整的数据空间。
一个事务内部的操作及使用的数据对其它并发事务是隔离的,并发执行的各个事务是不能互相干扰的。持久性
事务的持久性是指事务一旦提交后,数据库中的数据必须被永久的保存下来。即使服务器系统崩溃或服务器宕机等故障。只要数据库重新启动,那么一定能够将其恢复到事务成功结束后的状态。
事务的隔离级别
读未提交: 一个事务还没有提交时,它做的变更就能被别的事务看到。可能出现脏读。
读提交: 一个事物提交之后,它做的变更才会被其他事务看到。可能出现不可重复读。
可重复读: 一个事物执行过程中看到的数据,总是跟这个事务在启动时看到的数据是一致的。未提交变更对其他事务也是不可见的。可能出现幻读。
串行化: 对于同一行记录,写会加“写锁”,读会加“读锁”,当出现锁冲突时,后访问的事务需要等前一个事务执行完成,才能继续执行。
可能导致的问题有
1.脏读: 一个事务读到另一个事务未提交的更新数据。
2.不可重复读: 一个事务两次读同一行数据,可是这两次读到的数据不一样。
3.幻读: 一个事务执行两次查询,但第二次查询比第一次查询多出了一些数据行。
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- 深度解析 z-index
- 【TA-霜狼_may-《百人计划》】美术2.3 硬表面基础
- nohup原理
- Hook API
- Analysis of pseudo-classes and pseudo-elements
- Database Principles Homework 3 — JMU
- CHI论文阅读(1)EmoGlass: an End-to-End AI-Enabled Wearable Platform for Enhancing Self-Awareness of Emoti
- 数据库概论 - MySQL的简单介绍
- DDL+DML+DQL
- Explain the example + detail the difference between @Resource and @Autowired annotations (the most complete in the entire network)
猜你喜欢
随机推荐
shell之条件语句(test、if、case)
芯塔电子斩获第十一届中国双创大赛芜湖赛区桂冠
Difficulty comparison between high concurrency and multithreading (easy to confuse)
磁盘和储存管理
运行 npm 会弹出询问 “你要如何打开这个文件?“
tidyverse笔记——tidyr包
第十六章:构建n(5,7)阶素数幻方
英语翻译软件-批量自动免费翻译软件支持三方接口翻译
搭建zabbix监控及邮件报警(超详细教学)
Install and use uView
Markdown中的数学符号
ls的用法
基本正则表达式元字符,字符,次数,锚定分组
Project exercise - memorandum (add, delete, modify, check)
Analysis of the implementation principle and detailed knowledge of v-model syntactic sugar and how to make the components you develop support v-model
机器学习反向传播的一些推导公式
Redux state management
Chapter 17: go back to find the entrance to the specified traverse, "ma bu" or horse stance just look greedy, no back to search traversal, "ma bu" or horse stance just look recursive search NXM board
Some derivation formulas for machine learning backpropagation
Dart入门








