你好,主要有如下原则需要注意:
最左前缀匹配原则,组合索引非常重要的原则,mysql会一直向右匹配直到遇到范围查询(>、<、between、like)就停止匹配,比如a=1 and b=2 and c>3 and d=4如果建立(a, b, c, d)顺序的索引,d是用不到索引的,如果建立(a, b, d, c)的索引则都可以用到,a, b, d的顺序可以任意调整;
较频繁作为查询条件的字段才去创建索引;
更新频繁字段不适合创建索引;
若是不能有效区分数据的列不适合做索引列;
尽量的扩展索引,不要新建索引,比如表中已经有a的索引,现在要加(a, b)的索引,那么只需要修改原来的索引即可;
定义有外键的数据列一定要建立索引;
对于那些查询中很少涉及的列,重复值比较多的列不要建立索引; 对于定义为text、image和bit的数据类型的列不要建立索引。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。