好的,我们知道索引确实可以提高查询的效率,但前提是需要针对于数据库表创建合适的索引。创建索引的时候,主要考虑一下几点原则:
1). 针对于数据量较大,且查询比较繁琐的表创建索引。(单表超过10w记录)
2). 针对于经常作为查询条件(where)、排序(order by)、分组(group by)操作的字段建立索引。
3). 尽量选择为区分度高的列建立索引,如果该字段是唯一的,建立唯一索引,效率更高。(区分度越高,效率越高)。
4). 在varchar类型的字段上,建议指定索引长度(建立前缀索引),没必要对全字段建立索引,根据实际文本区分度决定索引长度就可以。
5). 尽量建立联合索引,而且在联合索引中将区分度高的字段放在前面,减少单列索引。(查询时,联合索引很多时候可以索引覆盖,避免回表,提高效率)
6). 在满足业务需求的前提下,建立适当的索引,索引不宜过多。(索引过多,会增加维护索引的成本,影响增删改的效率)