MySQL索引设计原则

98 阅读1分钟

哪些情况适合创建索引?

  1. 字段数值有唯一性的限制
  2. 频繁作为where查询条件
  3. 经常使用GROUP BY 和 ORDER BY的列
  4. DISTANCT 字段修饰的列
  5. 多表JOIN连接时,表最好不要超过3张,where条件创建索引,用于连接的字段创建索引且该两列的字段类型一致
  6. 使用列的类型小的创建索引  节省空间
  7. 使用字符串前缀创建索引      节省空间
  8. 区分度高的列创建索引
  9. 联合索引:使用频繁的列放到联合索引的左侧
  10. 在多个字段都创建索引的情况下,联合索引优于单列索引

哪些情况不适合关键索引?

  1. where中用不到的字段,不要设置索引
  2. 数据量大的表最好不要使用索引
  3. 有大量重复数据的列不要创建索引
  4. 避免对经常更新的表创建过多索引
  5. 不建议使用无序的值作为索引
  6. 删除不再使用或者很少使用的索引
  7. 不要定义