打印本文 打印本文 关闭窗口 关闭窗口
ORACLE SQL性能优化系列 (十四) 完结篇
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2873  更新时间:2009/4/22 22:08:13  文章录入:mintao  责任编辑:mintao
译者按:

     如果你的数据库的SORT_AREA_SIZE调配得好, 使用UNION , MINUS, INTERSECT也是可以考虑的, 毕竟它们的可读性很强

 

 

49.       优化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

     

译者按:

     本节和14节相同. 可略过.

 

50.       使用日期

当使用日期是,需要注意如果有超过5位小数加到日期上, 这个日期会进到下一天!

 

例如:

1.

SELECT TO_DATE(‘01-JAN-93’+.99999)

FROM DUAL;

 

Returns:

   ’01-JAN-93 23:59:59’

2.

SELECT TO_DATE(‘01-JAN-93’+.999999)

FROM DUAL;

 

Returns:

   ’02-JAN-93 00:00:00

 

译者按:

    虽然本节和SQL性能优化没有关系, 但是作者的功力可见一斑

   

51.   使用显式的游标(CURSORs)

使用隐式的游标,将会执行两次操作. 第一次检索记录, 第二次检查TOO MANY ROWS 这个exception . 而显式游标不执行第二次操作.

 

52.   优化EXPORT和IMPORT

使用较大的BUFFER(比如10MB , 10,240,000)可以提高EXPORT和IMPORT的速度.

ORACLE将尽可能地获取你所指定的内存大小,即使在内存不满足,也不会报错.这个值至少要和表中最大的列相当,否则列值会被截断.

译者按:

可以肯定的是, 增加BUFFER会大大提高EXPORT , IMPORT的效率. (曾经碰到过一个CASE, 增加BUFFER

上一页  [1] [2] [3]  下一页

打印本文 打印本文 关闭窗口 关闭窗口