创建索引
那些字段适合创建索引
- 不为null的字段
- 被作为条件查询的字段
- 需要排序的字段
- 频繁用于链接的字段
- 使用 limit、offset查询缓慢时,可以借助索引来提高性能
- 涉及到分组或统计的字段
那些字段不适合创建索引
- where 中用不到的字段无需创建索引
- 数据较少的表可以不建索引
- 数据分布均匀的表不适合建索引(比如:性别)
- 需要被计算的列不适合建索引,对字段使用函数,会导致索引无法被命中
创建索引的注意事项
- 被频繁更新的字段应谨慎建立索引
- 尽可能创建联合索引,而不是单列的索引
- 为了节约硬盘空间
- 减少回表次数
- 字符串类型的字段可以考虑使用前缀索引代替普通索引
- 特大型表简历索引,维护索引的开销太大
- 使用逻辑主键,而不是业务主键
使用索引
索引失效:
- 模糊匹配当中以 % 开头时
- 使用复合索引的时候,没有遵循 最左前缀原则
- OR 关键字,其中一边的条件字段没有索引时
- 在 where 当中的索引列参加了运算 或 使用了函数
文章评论