ORACLE学习笔记之调节性能优化篇(9)

文章作者 100test 发表时间 2007:03:14 13:54:50
来源 100Test.Com百考试题网


<17>. /* NOWRITE*/

禁止对查询块的查询重写操作.

<18>. /* REWRITE*/

可以将视图作为参数.

<19>. /* MERGE(TABLE)*/

能够对视图的各个查询进行相应的合并.

例如:

SELECT /* MERGE(V) */ A.EMP_NO,A.EMP_NAM,

B.DPT_NO FROM BSEMPMS A (SELET DPT_NO,AVG(SAL) 

AS AVG_SAL FROM BSEMPMS B GROUP BY DPT_NO) V 

WHERE A.DPT_NO=V.DPT_NO AND A.SAL>V.AVG_SAL.

<20>. /* NO_MERGE(TABLE)*/对于有可合并的视图不再合并.

例如:

SELECT /* NO_MERGE(V) */ A.EMP_NO,A.EMP_NAM,B.DPT_NO FROM BSEMPMS A 

(SELET DPT_NO,AVG(SAL) AS AVG_SAL FROM BSEMPMS B GROUP BY DPT_NO) V 

WHERE A.DPT_NO=V.DPT_NO AND A.SAL>V.AVG_SAL.

<21>. /* ORDERED*/

根据表出现在FROM中的顺序,ORDERED使ORACLE依此顺序对其连接.

例如:

SELECT /* ORDERED*/ A.COL1,B.COL2,C.COL3 FROM TABLE1 A,TABLE2 B,TABLE3 C

WHERE A.COL1=B.COL1 AND B.COL1=C.COL1.

<22>. /* USE_NL(TABLE)*/

将指定表与嵌套的连接的行源进行连接,并把指定表作为内部表.

例如:

SELECT /* ORDERED USE_NL(BSEMPMS)*/ BSDPTMS.DPT_NO,BSEMPMS.EMP_NO,

BSEMPMS.EMP_NAM FROM SEMPMS,BSDPTMS WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO.

<23>. /* USE_MERGE(TABLE)*/

将指定的表与其他行源通过合并排序连接方式连接起来.

例如:

SELECT /* USE_MERGE(BSEMPMS,BSDPTMS)*/ * FROM BSEMPMS,BSDPTMS WHERE

BSEMPMS.DPT_NO=BSDPTMS.DPT_NO.

<24>. /* USE_HASH(TABLE)*/

将指定的表与其他行源通过哈希连接方式连接起来.

例如:

SELECT /* USE_HASH(BSEMPMS,BSDPTMS)*/ * FROM BSEMPMS,BSDPTMS WHERE

BSEMPMS.DPT_NO=BSDPTMS.DPT_NO.

<25>. /* DRIVING_SITE(TABLE)*/


相关文章


Oracle与开源数据库:自由就是力量
WindowsXP下安装Oracle9i问题二则
[Oracle]分享:我的oracle9i学习笔记(5)
[Oracle]分享:我的oracle9i学习笔记(6)
ORACLE学习笔记之调节性能优化篇(9)
ORACLE学习笔记之调节性能优化篇(8)
[Oracle]分享:我的oracle9i学习笔记(3)
[Oracle]分享:我的oracle9i学习笔记(4)
ORACLE学习笔记之调节性能优化篇(7)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛