事务把多条逻辑相关的 SQL 组成一个整体:要么全部提交,要么全部回滚。真正困难的部分是并发事务如何互相影响,以及 InnoDB 如何通过锁、undo log、MVCC 和日志在一致性与性能之间取得平衡。
1. 为什么需要事务转账需要同时扣减付款方余额并增加收款方余额:
12UPDATE account SET balance = balance - 1 ...
索引用额外空间与写入维护成本换取检索速度。理解 MySQL 索引不能停留在 CREATE INDEX:还要知道数据页、B+ 树、聚簇索引、回表、覆盖索引、最左前缀和执行计划之间的关系。
1. 没有索引会怎样1SELECT * FROM employee WHERE employee_no = 998877;
没有可用索引时,优化器可能执行全表扫描。数据 ...
数据库不是简单的“保存数据的文件”,而是一套负责数据组织、并发访问、权限控制、故障恢复和持久化的系统。本文从数据库基本概念出发,梳理 MySQL 的客户端/服务器模型、逻辑层级、SQL 分类和存储引擎,为后续学习表、索引和事务建立全局视角。
1. 为什么需要数据库直接用普通文件保存数据会遇到许多问题:
数据格式由每个程序自行定义,难以共享;
...
