外观
MySQL 索引设计笔记
索引类型
- 主键索引:聚簇索引,叶子节点存整行数据
- 二级索引:叶子节点存主键值,回表查询
- 覆盖索引:查询列都在索引中,避免回表
最左前缀原则
联合索引 (a, b, c):
- 能用到:
a、a+b、a+b+c - 用不到:
b、b+c、c
索引失效的常见场景
- 对索引列使用函数或运算:
WHERE YEAR(created_at) = 2026 - 隐式类型转换:
WHERE phone = 138...(phone 是 varchar) LIKE '%abc'前导通配符OR连接非索引列
设计建议
- 选择性高的列放联合索引前面
- 避免过多索引(写入开销 + 占用空间)
- 大字段不要建索引,考虑前缀索引