哪些情况需要创建索引
- 主键自动建立唯一索引
- 频繁作为查询条件的字段应该创建索引
- 查询中与其他表关联的字段,外键关系建立索引
- 频繁更新的字段不适合创建索引 – 因为每次更新不只更新记录还会更新索引
- Where里用不到的字段的不创建索引
- 单键/组合索引的选择问题 – 在高并发下倾向创建组合索引
- 查询中排序的字段 – 排序字段若通过索引去访问将大大提高排序速度
- 查询中统计或者分组字段
哪些情况不需要创建索引
- 表记录太少 – mysql300w左右就可以考虑建索引了
- 经常增删改的表 – 因为索引要跟着更新
- 数据重复且分布平均的表字段 – 可以用(该字段不同的数据的数量)/(该字段总的数据量),值越接近1,说明不怎么重复,越有建索引的价值。