mysql中的acid是什么意思-mysql教程
MySQL 中的 ACID
什么是 ACID
ACID 是数据库事务的四大特性,分别为原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。
原子性
原子性指事务是一个不可分割的单位,要么全部执行成功,要么全部失败。在事务执行过程中,即使发生错误,数据库也不会处于中间状态。
一致性
一致性指事务执行前后,数据库状态保持一致。事务开始时,数据库处于一致状态,事务结束时,数据库仍然处于一致状态。
隔离性
隔离性指并发事务之间互不影响。每个事务都认为自己是独立执行的,不受其他事务的影响。
持久性
持久性指一旦事务提交,其对数据库的修改将永久保存,即使系统崩溃或出现故障。
MySQL 中的 ACID
MySQL 支持事务,并遵循 ACID 特性。
- 原子性:MySQL 使用 redo 日志和 undo 日志来保证原子性。redo 日志记录事务执行的变更,undo 日志记录事务执行前的状态。当事务提交时,redo 日志将变更应用到数据库,确保事务不可分割。
- 一致性:MySQL 使用约束(如外键约束)和触发器来维护一致性。约束确保数据符合预定义的规则,触发器在特定事件发生时执行自动操作,以保持数据库的完整性。
- 隔离性:MySQL 使用锁机制来实现隔离性。当事务访问数据时,会对数据加锁,防止其他事务并发修改相同的数据。
- 持久性:MySQL 将事务提交的修改写入 redo 日志和数据文件。即使系统崩溃,重启后也可以从日志中恢复提交的更改。