framework
framework/mysql/index.md
medium
framework-mysql-index
MySQL/InnoDB 引擎特性规约 5 大类 — 索引设计 / 事务与锁 / Schema 字段设计 / 性能诊断(EXPLAIN/慢查询) / 上线与扩展(Online DDL/分库分表/分布式ID)。Use when 建索引或排查没走索引 / 处理事务隔离与死锁 / 选字段类型 / 调慢查询 / 大表改表或分片时。
子项索引
| 子项 | 一句话 |
|---|---|
| index folder | InnoDB 索引设计 5 个独立决策点 — 聚簇主键选型 / 联合索引最左前缀 / 覆盖索引免回表 / 索引失效场景 / 区分度与前缀索引 |
| transaction folder | InnoDB 事务与锁 4 个独立决策点 — 隔离级别选 RR/RC、MVCC 与当前读加锁、间隙锁与死锁规避、事务范围控制 |
| schema folder | MySQL Schema 与字段设计 4 个独立决策点 — 数值/时间/金额类型选型、字符串类型选型、NOT NULL 与默认值、字符集统一 utf8mb4 |
| diagnosis folder | MySQL 性能诊断 3 个独立决策点 — 读懂 EXPLAIN 执行计划、慢查询定位流程、count 与深分页优化 |
| ops folder | MySQL 上线与扩展 3 个独立决策点 — 大表 Online DDL 改表不锁表、分库分表拆分键选择、分布式有序主键生成 |
MySQL · 引擎特性规约索引
本目录管 MySQL/InnoDB 引擎本身的设计与调优,与三个邻居分工:
- 语句语法红线(禁
SELECT *、必带 WHERE/ON、禁隐式转换)→../../lang/sql/index.md- MyBatis Mapper / 动态 SQL / 分页框架用法 →
../mybatis/index.md- 关系库选 MySQL 还是 PostgreSQL →
../../tech-selection/database/index.md
本层包含
| 名称 | 类型 | 一句话 |
|---|---|---|
| index | 文件夹 | 索引设计:聚簇主键 / 最左前缀 / 覆盖索引 / 失效场景 / 区分度(5 子项) |
| transaction | 文件夹 | 事务与锁:隔离级别 / MVCC 当前读 / 间隙锁死锁 / 事务范围(4 子项) |
| schema | 文件夹 | Schema 字段设计:数值时间金额 / 字符串 / NOT NULL / 字符集(4 子项) |
| diagnosis | 文件夹 | 性能诊断:EXPLAIN / 慢查询定位 / count 与深分页(3 子项) |
| ops | 文件夹 | 上线与扩展:Online DDL / 分库分表拆分键 / 分布式 ID(3 子项) |
何时下钻
| 你在做什么 | 进哪个 |
|---|---|
| 建索引、查询慢且没走索引、定主键 | index/ |
| 配隔离级别、写 FOR UPDATE、排查死锁/锁等待 | transaction/ |
| 建表选字段类型、字符集、NOT NULL | schema/ |
| 看 EXPLAIN、从慢日志定位、优化 count/深分页 | diagnosis/ |
| 大表加字段/加索引、分库分表、选分布式主键 | ops/ |