当前位置:Gxlcms > 数据库问题 > SQL语句优化系列一

SQL语句优化系列一

时间:2021-07-01 10:21:17 帮助过:21人阅读

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   

人气教程排行