码迷,mamicode.com
首页 > 数据库 > 详细

SQL语句优化系列一

时间:2017-11-27 18:45:14      阅读:149      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!