MySQL索引,如何判定是否须要创建索引

Anonymity | | 访问(96)

  1. 较频繁的作为查询条件的字段应该创建索引

  提高数据查询检索的效率最有效的办法就是减少须要访问的数据量,从上面索引的益处中我们知道,索引正是减少通过索引键字段作为查询条件的Query的IO量之最有效手段。

  2. 唯一性太差的字段不适合单独创建索引,即使频繁作为查询条件

  唯一性太差的字段主要是指哪些呢?如状态字段、类型字段等这些字段中存放的数据可能总共就是那么几个或几十个值重复使用,每个值都会存在于成千上万或更多的记录中。

  3. 更新非常频繁的字段不适合创建索引

  上面在索引的弊端中已经分析过了,索引中的字段被更新的时候,不仅要更新表中的数据,还要更新索引数据,以确保索引信息是准确的。这个问题致使IO访问量较大增加,不仅仅影响了更新Query的响应时间,还影响了整个存储系统的资源消耗,加大了整个存储系统的负载。

  4. 不会出现在WHERE子句中的字段不该创建索引

  不会还有人会问为什么吧?自己也觉得这是废话了,哈哈!