MySQL 面试高频题:索引、事务、SQL 优化,必背答案 📅 2026/7/20 10:25:07 一、索引相关InnoDB 索引底层 B 树为什么不用 B 树 叶子节点双向链表范围查询友好所有数据存叶子IO 更少高度更低。复合索引最左前缀原则 索引按顺序排序查询必须匹配最左侧字段范围查询后字段失效。索引失效常见场景 函数、隐式类型转换、左模糊 % xxx、OR 无索引、NOT IN、跳过最左前缀。聚簇索引和二级索引区别 主键是聚簇索引叶子存整行普通索引叶子存主键需要回表。二、事务 ACID 与隔离级别ACID原子、一致、隔离、持久四大隔离级别读未提交、读已提交、可重复读 (默认)、串行化脏读、不可重复读、幻读分别如何解决 脏读→RC不可重复读→RR幻读只能串行化InnoDB 间隙锁缓解。三、SQL 优化LIMIT 超大偏移卡顿怎么优化 主键分页、子查询先查 ID、覆盖索引SELECT * 弊端 破坏覆盖索引、增加 IO、网络传输、字段映射异常JOIN 优化要点 关联字段建索引、小表驱动大表、控制关联表≤3 张、杜绝笛卡尔积。四、锁与死锁行锁、表锁区别死锁产生条件与解决方案统一更新主键顺序、缩短事务、RC 隔离。五、高并发相关读写分离原理主库 binlog 同步从库写主读从分库分表适用场景单表千万级数据拆分水平 / 垂直分片。