前言
本章主要讲述sql优化问题
概述
当我们开发一个项目,如果常常遇到页面加载很慢,又或者页面数据迟迟显示不上来,
为了提高该项目的性能,这时候,我们必须有必要的进行sql的优化。
方法
-
1.对查询进行优化,我们应该尽量避免全表查询,应当考虑在where即order by 涉及的列上建立索引
-
2.尽量避免在where子句中对字段进行null值判断,否则将导致引擎放弃使用索引而执行全表扫描。
例:
select * from table where num is null;
注意:最好不要给数据库留null,尽可能用not null 填充。null占100个字符空间,如果是varchar类型null则不占空间。
-
3.尽量避免where 子句中使用!=或者<,>操作符
-
4.尽量避免在where子句中使用or来连接条件
因为如果一个字段有索引,另一个字段有索引,那么将放弃使用索引进行全表扫描
例 :
select id from t where num=10 or name=‘admiin’;
可用union all进行优化:
select id from t where num =10 union all select id from t where name=‘admin’
-
5.in和not in 也需要慎用,否则也可能放弃使