关于mysql的事务ACID你了解多少?
事务管理(ACID)
事务具有的四个特征(ACID):原子性(Atomicity)、一致性(Consistency)、隔离性(lsolation)、持久性(Durability)
逐个理解四大特性
原子性
原子性指的是事务要么是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。
针对同一事物(比如银行转账的时候)
符合事务的原子性,要么一起成功要么一起失败,不能只完成其中一个动作
一致性
针对一个事务操作前与操作后的状态一样
关于一致性和原子性的区别可以看:怎么理解数据库事务的一致性
理解为在数据上钱没多没少…
隔离性
针对多个用户同时操作。主要是排除其他事务对本次事务的影响
两个事务同时进行,一个事务读取到另一个事务还没有提交的数据
持久性
表示事务结束后的数据不随着外界原因导致数据丢失
操作前A:500,B:100
操作后A:300,B:300
如果在操作前(事务还没有提交)服务器宕机或者断电,那么重启数据库以后,数据状态应该为
A:500,B:100
如果在操作后(事务已经提交)服务器宕机或者断电,那么重启数据库以后,数据状态应该为
A:300,B:300
事务隔离级别
未完待续…