关系型数据库:(eg:mysql)支持事务 ACID 特性

事务 ACID 特性

ACID 就是数据库里一个事务必须满足的 4 个规矩,保证数据不出错、不乱套。


1. A = Atomicity 原子性

要么全部成功,要么全部失败,不做一半

  • 就像转账:扣钱 + 加钱必须一起完成。
  • 扣了钱但没加到对方账户 = 失败,数据回滚,跟没操作一样。

一句话:不可分割,要么全做,要么全不做


2. C = Consistency 一致性

操作前后,数据始终合法、合理

  • 比如总钱数不变、余额不能为负、约束不能被破坏。
  • 不管怎么转,数据库永远是 "对的状态"。

一句话:数据永远合法,不会出现奇怪结果


3. I = Isolation 隔离性

多个事务同时跑,互不干扰

  • 你在转账,别人也在转账,互相看不见对方的中间状态。
  • 避免:你刚扣钱还没加钱,别人读到一个错误余额。

一句话:各玩各的,互不影响


4. D = Durability 持久性

一旦提交成功,就永久保存

  • 就算断电、崩溃、重启,成功提交的数据也不会丢。
  • 不会出现 "刚才明明成功了,刷新又没了"。

一句话:提交了就是永久的


极简总结(背这个就行)

  • A 原子性:要么全成,要么全不成
  • C 一致性:数据始终合法
  • I 隔离性:并发互不干扰
  • D 持久性:成功就永久保存
相关推荐
m0_7467523015 小时前
如何用方法简写语法在对象字面量中快速定义成员函数
jvm·数据库·python
qq_1898070315 小时前
JavaScript 中高效定位二维数组间不匹配元素的行列索引
jvm·数据库·python
qq_3493174815 小时前
Python GUI界面如何实现主题美化_引入ttk模块实现原生外观风格
jvm·数据库·python
草履虫君15 小时前
我们用纯命令行方式,给openclaw配置minimax2.7
数据库·经验分享·功能测试·ai
老年DBA15 小时前
PostgreSQL 高负载 Load Average 暴涨 | BufferMapping LWLock 锁竞争 完整排查优化实战
数据库·postgresql
forEverPlume15 小时前
c++如何通过解析二进制包头信息解决Socket传输过程中的粘包问题【详解】
jvm·数据库·python
BU摆烂会噶15 小时前
【LangGraph 持久化】让 AI Agent 拥有“记忆”
数据库·人工智能·python·langchain
当战神遇到编程15 小时前
数据库表关系详解:一对一、一对多、多对多
数据库
脑子进水养啥鱼?15 小时前
PostgreSql CAST
数据库·postgresql
思麟呀15 小时前
Epoll的学习,在select和poll的基础上
网络·数据库·sql·学习·tcp/ip