Oracle语句优化53个规则详解(12)
来源:互联网 发布:mysql text 默认值 编辑:程序博客网 时间:2024/04/27 23:41
49. 优化GROUP BY
提高GROUP BY 语句的效率,可以通过将不需要的记录在GROUP BY 之前过滤掉。下面两个查询返回相同结果但第二个明显就快了许多。
低效:
SELECT JOB , AVG(SAL)
FROM EMP
GROUP by JOB
HAVING JOB = ‘PRESIDENT’
OR JOB = ‘MANAGER’
高效:
SELECT JOB , AVG(SAL)
FROM EMP
WHERE JOB = ‘PRESIDENT’
OR JOB = ‘MANAGER’GROUP by 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后,IMPORT/EXPORT快了10倍!)
作者可能犯了一个错误:“这个值至少要和表中最大的列相当,否则列值会被截断。”其中最大的列也许是指最大的记录大小。
关于EXPORT/IMPORT的优化,CSDN论坛中有一些总结性的贴子,比如关于BUFFER参数, COMMIT参数等等,详情请查。
53. 分离表和索引
总是将你的表和索引建立在不同的表空间内(TABLESPACES)。决不要将不属于ORACLE内部系统的对象存放到SYSTEM表空间里。同时,确保数据表空间和索引表空间置于不同的硬盘上。
译者按:“同时,确保数据表空间和索引表空间置与不同的硬盘上。”可能改为如下更为准确“同时,确保数据表空间和索引表空间置与不同的硬盘控制卡控制的硬盘上。”
- Oracle语句优化53个规则详解
- Oracle语句优化53个规则详解
- Oracle语句优化53个规则详解
- Oracle语句优化53个规则详解
- Oracle语句优化53个规则详解
- Oracle语句优化53个规则详解
- Oracle语句优化53个规则详解
- Oracle语句优化53个规则详解
- Oracle语句优化53个规则详解
- Oracle语句优化53个规则详解
- Oracle语句优化53个规则详解
- Oracle语句优化53个规则详解
- Oracle语句优化53个规则详解(12)
- Oracle语句优化30个规则详解
- Oracle语句优化30个规则详解
- 30个Oracle语句优化规则详解
- 30个Oracle语句优化规则详解
- 30个Oracle语句优化规则详解
- 为何使用表格排版网页是不明智的(转)
- 华东师大 数据结构 课程设计 麻烦各位帮帮忙啊!
- c#的接口
- spring 的import 用法
- 第一次取 Google 西联汇款的辛酸经历
- Oracle语句优化53个规则详解(12)
- 利用RequestDispatcher实现文件下载,支持下载工具
- 在Solaris上安装ACE
- Cisco PIX Failover 实验
- 地震后一个月毕业
- ????
- 丙烯颜料试用心得和丙烯绘画入门
- www.139731.com 程序员也要团结
- ESRI矢量数据格式简介