数据库索引创建需考虑因素

1.数据量超过三百,理论上应创建索引

2.经常与其他表链接的表,在链接字段应创建索引 on 两边的字段,都要建立索引

3.经常出现在where子句中的字段,尤其是大表,应创建索引

4.索引应创建在选择性高,重复度低的字段上,如员工表,姓名和性别都作为查询条件,姓名更适合建立索引。如果两个同时建立了索引,MySQL也会自动选择以姓名作为索引查询

5.索引应该建立在小字段上,对于大的文本甚至超长字段,尽量不建立索引

6.复合索引

① 正确选择复合索引中的主列字段,一般是选择性较好的字段

② 复合索引的几个字段是否经常同时以AND方式出现在Where子句中?单字段查询是否极少甚至没有? 如果是,则可以建立复合索引;否则考虑单字段索引

③ 如果复合索引中包含的字段经常单独出现在Where子句中,则分解为多个单字段索引

④ 如果既有单字段索引,又有这几个字段上的复合索引,一般可以删除复合索引

7.索引维护也需要成本,频繁增删的数据表,谨慎选择索引

  1. 查询中排序的字段,应该创建索引( B + tree 有顺序)

  2. 统计或者分组字段,应该创建索引

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。