面试题:讲一下事务的四大特性?
我的回答:
ACID
A代表原子性,一个事务代表一个业务,要么全部都完成,要么全部都不完成。如果事务执行失败了,会回滚到最原来的状态。
C代表一致性,举个例子,假设一个转账事务,a账户给b账户转账,a账户和b账户,钱的总和是1000元,那么事务执行前后,两个账户的钱的总和保持不变。
I代表隔离性,两个事务并发执行,都对同一个数据进行修改,两个事务之间是相互隔离的,互不影响。
D代表持久性,一个事务一旦提交了,就会被持久化到数据库。即使之后数据库发生了故障,也不会影响已经提交到数据库事务的操作。