SQL优化

来源:互联网 发布:js判断数组为空 编辑:程序博客网 时间:2024/06/16 03:35

由SQL编写导致的慢SQL,优化起来还是相对比较方便的。正如上一届提到的正确的使用索引能加快查询速度,那么我们在编写SQL时就需要注意与索引相关的规则:

1.字段类型转换导致不用索引,如字符串类型的不用引号,数字类型的用引号等,这都有可能会用不到索引导致全表扫描;

2.mysql不支持函数转换,所以字段前面不能加函数,否则将用不到索引;

3.不要在字段前面加减运算;

4.字符串比较长的可以考虑索引一部分减少索引文件大小,提高写入效率;

5.like%前面用不到索引;

6.根据联合索引的第二个及以后的字段单独查询用不到索引;

7.不要使用select*;

8.排序请尽量使用升序;

9.or的查询尽量用union代替;

10.复合索引高选择性的字段排在前面;

11.order by /group by 字段包括在索引当中减少排序,效率会更高。

除了上述索引使用规则外,sql编写时还需要特别注意一下几点:

1.尽量规避大事务的SQL,大事务的SQL会影响数据库的并发性能及主从同步;

2.分页语句limit的问题;

3.删除表所有记录用truncate,不要用delete;

4.不让mysql干多余的事情,如计算;