Prompts-MCP 686 skills · ai / design / design-pattern / framework / fundamentals / habit / lang / tech-selection /mcp/sse
framework framework/mysql/index/index.md medium

framework-mysql-index-index

InnoDB 索引设计 5 个独立决策点 — 聚簇主键选型 / 联合索引最左前缀 / 覆盖索引免回表 / 索引失效场景 / 区分度与前缀索引。Use when 建索引 / 排查没走索引或慢查询 / 评审索引列顺序时。

子项索引

子项 一句话
mysql-clustered-pk-design skill InnoDB 聚簇索引与主键选型 — 主键即数据物理顺序,宜用自增 BIGINT,忌用 UUID/随机串/业务字段做 PK(页分裂 + 二级索引膨胀)
mysql-leftmost-prefix skill 联合索引最左前缀法则 + 索引下推 ICP — 索引 (a,b,c) 只能从 a 起连续命中,跳列或范围后断列即失效
mysql-covering-index skill 覆盖索引避免回表 — 查询所需列全在二级索引中时,直接从索引取数不回聚簇索引,EXPLAIN Extra 显示 Using index
mysql-index-fail-cases skill 索引失效场景全集 — 函数/运算包裹索引列、隐式类型转换、前导 % 的 LIKE、!= 与 NOT IN、OR 一侧无索引,都会退化为全表扫
mysql-cardinality-and-prefix skill 索引区分度与前缀索引 — 低区分度列(状态/性别/软删标记)单独建索引收益低,长字符串列用前缀索引控制索引体积

MySQL · 索引设计索引

InnoDB 索引拆成 5 个独立决策点,按你正在做的事下钻:

你在做什么 进哪个
定主键类型(自增 / UUID / 业务键) clustered-pk-design
排联合索引列顺序、排查没命中联合索引 leftmost-prefix
想免回表、把查询列收进索引 covering-index
查询走了全表扫、怀疑索引失效 index-fail-cases
纠结某列该不该建索引、字符串太长 cardinality-and-prefix

链接