跳转至

索引是不是越多越好

一、不是

1. 占空间

每个索引是一棵 B+ 树,占磁盘。

2. 影响写性能

insert/update/delete 要维护所有索引。

3. 优化器选错索引

索引多,优化器选错,性能差。

二、通常几个

  • 一张表 3-5 个索引合适。
  • 联合索引优于多个单值索引。

三、什么字段建索引

  • where 常用。
  • join 字段。
  • order by 字段。
  • 区分度高。

四、什么字段不建

  • 区分度低(如性别)。
  • 频繁更新。
  • 表小。

五、怎么评估

  • 慢查询日志。
  • explain 看有没有用到。
  • 删除未使用索引。

一句话

索引是空间换时间,多了写慢,3-5 个合适。