青岛鼎信Java开发面试题及参考答案(3万字长文,多张原理图)
MySQL 的事务特性有哪些?
MySQL 事务具有四个重要特性,被称为 ACID 特性。
原子性(Atomicity):事务是一个不可分割的工作单位,事务中的操作要么全部执行,要么全部不执行。例如,在银行转账场景中,从账户 A 转账到账户 B,包括扣减账户 A 的金额和增加账户 B 的金额这两个操作必须作为一个整体来完成。如果在执行过程中发生错误,比如系统崩溃或者数据库出现故障,那么已经执行的部分必须全部回滚,就好像整个转账操作从未发生过一样。
一致性(Consistency):事务必须使数据库从一个一致性状态变换到另一个一致性状态。以电商系统为例,商品库存和订单数量在交易过程中必须保持正确的关系。当一个用户购买了一件商品,库存数量应该减少一件,订单数量应该增加一个。如果事务成功执行,数据库中的数据仍然符合这些业务规则,即保持数据的一致性。
隔离性(Isolation):多个事务并发执行时,一个事务的执行不能被其他事务干扰。不同的隔离级别可以控制事务之间的可见性和相互影响程度。比如,有两个并发事务,一个是更新用户信息,另一个是查询用户信息。在较高的隔离级别下,查询事务不会看到更新事务未提交的数据&#x