事务基础与 ACID
事务(Transaction)是数据库保证一组读写作为一个整体生效的机制:要么全部成功提交,要么全部失败回滚,中间状态不对并发读者「半成品可见」(具体可见性由隔离级别决定)。
事务(Transaction)是数据库保证一组读写作为一个整体生效的机制:要么全部成功提交,要么全部失败回滚,中间状态不对并发读者「半成品可见」(具体可见性由隔离级别决定)。
本专题从日常开发最常踩坑的三类能力切入:索引、事务与锁、隔离级别。目标不是罗列 SQL 语法,而是建立可迁移的心智模型——理解存储引擎在做什么,再反推该如何写查询、如何设计表、如何排查慢 SQL 与并发问题。
索引是数据库用额外存储换查找与排序速度的结构。没有索引时,引擎往往只能扫描大量行;有合适索引时,可以快速定位到少量候选行,再读出真正需要的数据。
锁用来协调并发写以及当前读对数据正确性的要求。InnoDB 以行级锁为主,并配合意向锁、间隙锁等实现范围安全。锁加得越宽、持有越久,并发越差、死锁概率越高。