标签:group by 结果 总计 pre 前缀 记录 别名 size alias
SQL语句优化
1.SELECT 子句中避免使用‘* ’
2.使用表的别名 (Alias)
当在 SQL 语句中连接多个表时 , 请使用表的别名并把别名前缀于每个 Column 上。这样一来,就可以减少解析的时间并减少那些由 Column 歧义引起的语法错误。
3.用 >= 替代 >
高效 : SELECT * FROM EMP WHERE DEPTNO >=4
低效 : SELECT * FROM EMP WHERE DEPTNO >3 两者的区别在于,前者 DBMS 将直接跳到第一个 DEPT 等于 4 的记录而后者将首先定位到 DEPTNO=3 的记录并且向前扫描到第一个 DEPT 大于 3 的记录。
4.优化 GROUP BY: 提高 GROUP BY 语句的效率 , 可以通过将不需要的记录在 GROUP BY 之前过滤掉。下面两个查询返回相同结果但第二个明显就快了许多。
低效 : SELECT JOB , AVG(SAL) FROM EMP GROUP JOB HAVING JOB = ‘PRESIDENT‘ OR JOB = ‘MANAGER‘
高效 : SELECT JOB , AVG(SAL) FROM EMP WHERE JOB = ‘PRESIDENT‘ OR JOB = ‘MANAGER‘ GROUP JOB
备注:避免使用HAVING子句,HAVING 只会在检索出所有记录之后才对结果集进行过滤. 这个处理需要排序,总计等操作。如果能通过WHERE子句限制记录的数目,那就能减少这方面的开销。
SQL语句优化系列一
标签:group by 结果 总计 pre 前缀 记录 别名 size alias
原文地址:http://www.cnblogs.com/jxtx92/p/7905283.html