索引是什么
索引相当于一本字典的目录,当你需要查找一个字的释义时,需要先通过拼音或者偏旁部首等,查到该字所在的页码,再通过页码找到释义所在的书页,索引的功能就类似于目录的功能。
索引的作用
1、大大减少服务器需要扫描的行数。
2、帮助服务器避免排序和临时表。
3、可以将随机IO变为顺序IO。
注意
对于小表,大部分情况下简单的全表扫描更高效。对于中到大型的表,索引非常有效。对于特大型的表,维护索引的代价比较大,建议分区。
创建索引时的注意事项
索引的创建尽量避免选择频繁修改的字段,那些在where,group by,order by中出现的字段应该优先考虑建立索引。
不能建立过多索引,会影响数据增删改效率。建立索引时,应该尽量扩展已有索引而不是一来就新建索引。
创建复合索引时,应该考虑字段的顺序,根据经验值把选择性高的字段放在前面,但是实际过程中我们还应该考虑到分组,排序的顺序,当顺序一致时可以用到索引排序,提高查询效率。