事务(transaction)

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

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

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

1.原子性(Atomicity):

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

2.一致性(Consistency):

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

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

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

相关推荐
qq_392690666 小时前
如何优化SQL长文本字段查询_通过选择性返回减少IO消耗
jvm·数据库·python
小李云雾6 小时前
实际代码操作知识点分析:SQLAlchemy+FastAPI + 异步MySQL 全流程解析 + 增删改查逐行注释
数据库·mysql·fastapi
人道领域6 小时前
【黑马点评日记】:用户签到功能详解——从Bitmap入门到避坑指南
java·数据库·redis·后端
Vect__6 小时前
MySQL初识和基础操作
数据库·mysql
zhaoyong2227 小时前
如何在 MySQL 中实现基于全字段唯一性的重复行计数更新
jvm·数据库·python
X56617 小时前
为什么宝塔面板网站无法正常连接外部远程数据库_检查服务器安全组放行端口并开启IP授权
jvm·数据库·python
woxihuan1234567 小时前
C#怎么使用CancellationToken C#如何用取消令牌优雅地取消异步任务和长时间操作【进阶】
jvm·数据库·python
yexuhgu7 小时前
MySQL主从复制支持跨版本吗_不同版本间同步的注意事项
jvm·数据库·python
woxihuan1234567 小时前
CSS怎样调整弹性项目排列顺序_使用order属性轻松控制DOM显示顺序
jvm·数据库·python
拙野7 小时前
工作中Mybatis动态SQL的使用
java·sql·mybatis