索引优化策略总结

适合建立索引的场景

1 在经常作为查询条件的列上创建索引
2 在经常需要排序的列上创建索引,这样可以利用索引的排序,加快排序速度
3 在与其他表有关联的字段上(如外键)创建索引
4 在经常需要查询统计或者分组字段上创建索引

不适合建立索引的场景

1 特别小或者特别大的表,不建议建立索引
2 经常需要增删改的表或者字段,不建议建立索引

索引使用时的注意事项

1 条件查询时不要对索引列计算、使用函数、类型转换,否则会索引失效
2 使用组合索引查询时必须符合最左前缀原则,即必须保证从索引列最左列开始查找,否则联合索引将失效
3 使用组合索引查询时不能跳过索引中的列,否则跳过之后的列都无法使用索引优化查找
4 条件查询有某个索引列的范围查询,则其右边的所有列都无法使用索引优化查找
5 条件查询对索引列使用不等于(!= 或者<>)时,索引会失效
6 条件查询对索引列使用is not null时,索引会失效
7 条件查询对索引列使用like查询,并且是以%开头时,索引会失效
8 条件查询索引列是字符串类型时,其值必须用单引号引起来,否则索引会失效
9 条件查询对索引列使用or时,必须保证or的左右列都是索引列,否则索引会失效
10 单表中建立的索引控制在5个以内
11 单个组合索引的字段数控制在5个以内
12 考虑使用索引覆盖
13 对BLOB,TEXT,VARCHAR类型的列使用索引时,必须要使用前缀索引

你可能感兴趣的:(mysql,后端)