sql调优简单理解

来源:互联网 发布:经济数据库万得 编辑:程序博客网 时间:2024/05/17 01:01

1.可以通过调整 WHERE 子句中的连接顺序数据库管理系统采用自下而上的顺序解析 WHERE 子句,根据这个原理,表连接最好写在其他 WHERE 条件之前,那些可以过滤掉最大数量记录。
下面的 SQL 语句性能较差:

SELECT *FROM PersonWHERE Salary > 50000AND Position= ‘MANAGER’AND 25 < (SELECT COUNT(*) FROM T_ManagerWHERE ManagerId=2);

把子查询的条件放到最前面,性能比较好:

SELECT *FROM _PersonWHERE25 < (SELECT COUNT(*) FROM ManagerWHERE FManagerId=2)AND Salary > 50000AND Position= ‘MANAGER’

;

2.用 Where 代替 HAVING
减少使用 HAVING,因为 HAVING 只会在检索出所有记录之后才对结果集
进行过滤。而通过 WHERE 子句限制记录的数目,那就能减少这方面的开销。
HAVING 一般用于聚合函数的过滤,除此而外,应该将条件写在 WHERE 子
句中。

0 0
原创粉丝点击