事务(transaction)

事务,什么是事务,事务就是由单独单元的一个或多个sql语句组成,在这个单元中,每个sql语句都是相互依赖 的。而整个单独单元是作为一个不可分割的整体存在,类似于物理当中的原子(一种不可分割的最小单位)。

通俗来说,事务就是一个整体,里面的内容要么都执行成功,要么都执行失败,不可能存在部分执行成功,部分执行不成功的情况。

事务的四个特性(ACID)面试常考项:

1.原子性(Atomicity):

指事务是一个不可分割的最小工作单位,事务中的操作只有发生和都不发生两种情况。

2.一致性(Consistency):

一致性(Consistency):事务必须使数据库从一个一致状态变换到另外一个一致状态,举一个例子,李四给张三转账100元,其事务就是让李四账户上减去100元,张三账户上加上100元;一致性是指其他事务看到的情况是要么李四还没有给张三转账的状态,要么张三已经成功接收到李四的100元转账。而对于李四少了100元,张三还没加上100元这个中间状态是不可见的。

3.隔离性(Isolation):一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。

4.持久性(Durability):一个事务一旦提交成功,它对数据库中数据的改变将是永久性的,接下来的其他操作或故障不应对其有任何影响。

相关推荐
2501_914245938 分钟前
构建 Go CLI 应用的最佳实践:纯 Go 交互式命令行库选型与使用指南
jvm·数据库·python
m0_514520579 分钟前
Go语言变量如何声明和使用_Go语言变量定义完整教程【通俗】
jvm·数据库·python
weixin_5860614621 分钟前
CSS Grid布局如何解决图片溢出网格单元_设置object-fit与网格尺寸.txt
jvm·数据库·python
秋924 分钟前
数据库对比同步工具,快速比较开发库与生产库直接的差别,并自动生成存在差异的sql语句
数据库·oracle
Greyson141 分钟前
CSS Grid布局如何解决图片溢出网格单元_设置object-fit与网格尺寸.txt
jvm·数据库·python
Whitemeen太白41 分钟前
查询子级分类、父级分类、叶子节点分类(MySQL / Oracle )
数据库·mysql·oracle
C#程序员一枚41 分钟前
高可用(High Availability, HA)
数据库·c#
2401_883600251 小时前
Redis如何查询特定用户的排名_利用ZREVRANK指令获取ZSet降序名次
jvm·数据库·python
2301_777599371 小时前
如何决定是否需要创建索引_数据区分度与基数Cardinality计算
jvm·数据库·python
m0_514520571 小时前
SQL在SQL存储过程中优化子查询_缓存中间结果减少开销
jvm·数据库·python