mysql 事务面试题
时间: 2024-08-12 08:05:32 浏览: 96
最新MySQL高频面试题
MySQL 事务是数据库操作的一个重要概念,用于保证数据的一致性和完整性。面试时可能会问到关于事务的基本知识、特性以及如何处理它们的问题。以下是几个常见的面试话题:
1. **事务四要素(ACID)**:
- **原子性(Atomicity)**: 单个事务要么全部完成,要么都不做,如果中间出错,会回滚到事务开始前的状态。
- **一致性(Consistency)**: 事务前后,数据库状态应满足一定的约束条件,比如不会违反引用完整性和实体完整性等。
- **隔离性(Isolation)**: 防止并发操作导致的数据不一致,例如读已提交、读未提交、可重复读和串行化级别。
- **持久性(Durability)**: 一旦事务被提交,其结果就会永久保存,即使系统崩溃也能恢复。
2. **SQL语句支持的事务操作**:
- `START TRANSACTION` 开始一个新的事务;
- `COMMIT` 提交事务并应用所做的所有更改;
- `ROLLBACK` 回滚事务,撤销所有更改;
- `SAVEPOINT` 设置事务点以便在需要时回滚到这个点。
3. **事务的隔离级别**:
- MySQL默认是REPEATABLE_READ,还有其他如READ_UNCOMMITTED、READ_COMMITTED和SERIALIZABLE。
4. **何时使用事务**:
- 更新大量数据,防止部分更新失败造成数据不一致;
- 操作跨越多个表,需要保持数据的一致性;
- 在分布式系统中,协调多个节点的操作。
阅读全文