当前位置:网站首页>事务的四大特性
事务的四大特性
2022-07-31 05:50:00 【m0_67402731】
事务的特性
数据库的事务是指一组sql语句组成的数据库逻辑处理单元,在这组的sql操作中,要么全部执行成功,要么全部执行失败。
事务的四大特性:原子性、一致性、隔离性、持久性;
原子性
事务的原子性是指事务必须是一个原子的操作序列单元。事务中包含的各项操作在一次执行过程中,只允许出现两种状态之一,要么都成功,要么都失败。
任何一项操作都会导致整个事务的失败,同时其它已经被执行的操作都将被撤销并回滚,只有所有的操作全部成功,整个事务才算是成功完成。一致性
事务的一致性是指事务在执行不能破坏数据库数据的完整性和一致性,一个事务在执行之前和执行之后,数据库都必须处以一致性状态。
比如:张三给李四转钱,不可能张三被扣了钱,李四没有加钱。隔离性
事务的隔离性是指在并发环境中,并发的事务是互相隔离的,一个事务的执行不能被其它事务干扰。也就是说,不同事物并非操作相同数据时,每个事务都有完整的数据空间。
一个事务内部的操作及使用的数据对其它并发事务是隔离的,并发执行的各个事务是不能互相干扰的。持久性
事务的持久性是指事务一旦提交后,数据库中的数据必须被永久的保存下来。即使服务器系统崩溃或服务器宕机等故障。只要数据库重新启动,那么一定能够将其恢复到事务成功结束后的状态。
事务的隔离级别
读未提交: 一个事务还没有提交时,它做的变更就能被别的事务看到。可能出现脏读。
读提交: 一个事物提交之后,它做的变更才会被其他事务看到。可能出现不可重复读。
可重复读: 一个事物执行过程中看到的数据,总是跟这个事务在启动时看到的数据是一致的。未提交变更对其他事务也是不可见的。可能出现幻读。
串行化: 对于同一行记录,写会加“写锁”,读会加“读锁”,当出现锁冲突时,后访问的事务需要等前一个事务执行完成,才能继续执行。
可能导致的问题有
1.脏读: 一个事务读到另一个事务未提交的更新数据。
2.不可重复读: 一个事务两次读同一行数据,可是这两次读到的数据不一样。
3.幻读: 一个事务执行两次查询,但第二次查询比第一次查询多出了一些数据行。
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- Some derivation formulas for machine learning backpropagation
- nohup原理
- Exam Questions Previous True Questions Wrong Bills [The Fourth Session] [Provincial Competition] [Group B]
- 浅析瀑布流布局原理及实现方式
- Bulk free text translation
- Detailed explanation of js prototype
- 进程和计划任务管理
- Kubernetes scheduling
- tidyverse笔记——dplyr包
- 浅析v-model语法糖的实现原理与细节知识及如何让你开发的组件支持v-model
猜你喜欢

How to use repeating-linear-gradient

常用命令讲解

使用powerDesigner反向工程生成Entity

【C语言项目合集】这十个入门必备练手项目,让C语言对你来说不再难学!

Analysis of the implementation principle and detailed knowledge of v-model syntactic sugar and how to make the components you develop support v-model

数据库概论 - MySQL的简单介绍

Install and use uView

小实战项目之——吃货联盟订餐系统

树状数组(单点修改区间查询和区间修改单点查询)

mysql的下载及安装使用
随机推荐
DHCP原理与配置
Dart入门
银河麒麟服务器v10 sp1安装.net6
postgresql源码学习(34)—— 事务日志⑩ - 全页写机制
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
Analysis of pseudo-classes and pseudo-elements
TypeScript进阶
Redux state management
Run the NPM will pop up to ask "how are you going to open this file?"
NFS共享存储服务
js原型详解
引导过程和服务控制
tidyverse笔记——dplyr包
Zotero | Zotero translator plugin update | Solve the problem that Baidu academic literature cannot be obtained
线程中断方法
04-SDRAM:读操作(突发)
外贸网站优化-外贸网站优化教程-外贸网站优化软件
HuffmanTree
【Star项目】小帽飞机大战(八)
Moment.js common methods