索引是不是越多越好¶
一、不是¶
1. 占空间¶
每个索引是一棵 B+ 树,占磁盘。
2. 影响写性能¶
insert/update/delete 要维护所有索引。
3. 优化器选错索引¶
索引多,优化器选错,性能差。
二、通常几个¶
- 一张表 3-5 个索引合适。
- 联合索引优于多个单值索引。
三、什么字段建索引¶
- where 常用。
- join 字段。
- order by 字段。
- 区分度高。
四、什么字段不建¶
- 区分度低(如性别)。
- 频繁更新。
- 表小。
五、怎么评估¶
- 慢查询日志。
- explain 看有没有用到。
- 删除未使用索引。
一句话
索引是空间换时间,多了写慢,3-5 个合适。