一 . 建立索引是提高查询效率最直接的方式.
1、表的主键、外键必须有索引;
2、数据量超过1000的表建议添加索引;
3、经常与其他表进行关联的表,在连接字段上应该建立索引;
4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;
5、作为order by 条件的字段,也可以考虑添加索引;
6、索引应该建在长度较小字段上,对于大的文本字段甚至超长字段,不要建索引;
7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:
8、频繁进行数据操作的表,不要建立太多的索引(索引需要资源维护,太多索引会影响增删改效率);
9、删除无用的索引,降低维护成本;
二 . 避免在where上进行null,!=,<>,in 和 not in判断,避免使用or来连接条件,避免在 where 子句中的“=”左边进行函数、算术运算或其他表达式运算(where amount*0.9>10000,应改为amount>10000/0.9),否则将让引擎放弃使用索引而进行全表扫描.