1. /*+ALL_ROWS*/
O+T Mfq0Q;sN/dxRR|]12158104表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.ITPUB个人空间$kQ`~*N|Z0I
`}1O |.jv}La2Y12158104例如:
!s;G'aVZ0mF)Z3Ep12158104SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT';ITPUB个人空间u-nrm_ITPUB个人空间 g V5H
U;MlT
m
2. /*+FIRST_ROWS*/ITPUB个人空间%Ks0{Ec,R7I\+`
0G3y5V)~qR+O![!Y3H12158104表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化.ITPUB个人空间0L]c&N0}
aprT-|R12158104例如:ITPUB个人空间g9N5G;hbG
i
{qS-v*]b12158104SELECT /*+FIRST_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT';ITPUB个人空间 |-k~%\ Z_1ai
)K~"nI!itto03. /*+CHOOSE*/ITPUB个人空间@] p"D\oG
0H
n WK5Bo.O12158104表明如果数据字典中有访问表的统计信息,将基于开销的优化方法,并获得最佳的吞吐量;ITPUB个人空间1I/Ha*T-@H,x
.HG?q,x:P0s0表明如果数据字典中没有访问表的统计信息,将基于规则开销的优化方法;ITPUB个人空间 Dn.jI3~#@wuITPUB个人空间 AtMG9jSW7B
o@
例如:ITPUB个人空间5G#D\4c3tJ;JpITPUB个人空间p@,Oo/D
FQ5Hz
SELECT /*+CHOOSE*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT';
4. /*+RULE*/ITPUB个人空间JXs)VfZ!j
\UzVb0表明对语句块选择基于规则的优化方法.ITPUB个人空间,RSh)j.N4^2od,U;oITPUB个人空间c-hE.{G!Xf
例如:ITPUB个人空间4U2d0R
j ](@
A;fO]d
R7i12158104SELECT /*+ RULE */ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT'; bitscn.com
5. /*+FULL(TABLE)*/
F+q(~Y.F0&AA,v'W#W3|1_12158104表明对表选择全局扫描的方法.ITPUB个人空间8T6K5C?+CeITPUB个人空间XZ:Vu$Sql
例如:ITPUB个人空间X^fP%L
U7[0~;Ll3?3o)iF%v0SELECT /*+FULL(A)*/ EMP_NO,EMP_NAM FROM BSEMPMS A WHERE EMP_NO='SCOTT'; BBS.bitsCN.com网管论坛
6. /*+ROWID(TABLE)*/ITPUB个人空间o0b?EP`C
]x-p]6O0提示明确表明对指定表根据ROWID进行访问.ITPUB个人空间'HndZT6AE
V ltz#o12158104例如:ITPUB个人空间,M[e)S ZN|
[`}
_f)b(^0B
Ca[]T"Ni0SELECT /*+ROWID(BSEMPMS)*/ * FROM BSEMPMS WHERE ROWID>='AAAAAAAAAAAAAA'ITPUB个人空间#j&Y8F
E5{;rw%@C8J.@ITPUB个人空间^Cn@S4vR&w9V
AND EMP_NO='SCOTT'; BBS.bitsCN.com网管论坛
7. /*+CLUSTER(TABLE)*/ITPUB个人空间4Dy,PtdU8_#X
7R\*F*a5PD.l4J0提示明确表明对指定表选择簇扫描的访问方法,它只对簇对象有效.ITPUB个人空间`9v-T.J;cS3b5g:x
PY K Dc
a0例如:ITPUB个人空间/E"U#e6T F3gD Y
f*cr eG*ju]-m12158104SELECT /*+CLUSTER */ BSEMPMS.EMP_NO,DPT_NO FROM BSEMPMS,BSDPTMSITPUB个人空间Uj1?lw4L2PP
+n4jLfwm12158104WHERE DPT_NO='TEC304' AND BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;
8. /*+INDEX(TABLE INDEX_NAME)*/ITPUB个人空间/T9HF.mY1n$K;?ITPUB个人空间n!N4P
z5`
表明对表选择索引的扫描方法.ITPUB个人空间~*`e7tBo
h^:M|K
n^/U];V12158104例如:ITPUB个人空间}0A(`fuhl
Y kE${ dz/skv0SELECT /*+INDEX(BSEMPMS SEX_INDEX) USE SEX_INDEX BECAUSE THERE ARE FEWMALE BSEMPMS */ FROM BSEMPMS WHERE SEX='M'; bitscn.com
9. /*+INDEX_ASC(TABLE INDEX_NAME)*/ITPUB个人空间
NK5l;`"Bp
J.g|1GBY V*tC7D0dj.y0表明对表选择索引升序的扫描方法.ITPUB个人空间Fa/IK7iO#G-iH
WWQB\fE
|12158104例如:ITPUB个人空间kl&~
p*q;gITPUB个人空间{I.C eQ6\c%O
SELECT /*+INDEX_ASC(BSEMPMS PK_BSEMPMS) */ FROM BSEMPMS WHERE DPT_NO='SCOTT';
10. /*+INDEX_COMBINE*/ITPUB个人空间-V:b$Jp'B6_0u
.I6L-i.xPt0为指定表选择位图访问路经,如果INDEX_COMBINE中没有提供作为参数的索引,将选择出位图索引的布尔组合方式.ITPUB个人空间/b;y!}tvO/Yw)q
sW3EIE0j12158104例如:ITPUB个人空间u;IP'HF%e.BV:DITPUB个人空间Qa,g+SS]}
SELECT /*+INDEX_COMBINE(BSEMPMS SAL_BMI HIREDATE_BMI)*/ * FROM BSEMPMSITPUB个人空间TbP4i#~&dITPUB个人空间8i&Xc~3D$e1q"D
WHERE SAL<5000000 AND HIREDATE
11. /*+INDEX_JOIN(TABLE INDEX_NAME)*/ITPUB个人空间m"r1{SCC:V9T
1z7t&G zGr,^12158104提示明确命令优化器使用索引作为访问路径.
lF(tg)[
O0~c)_`*pU
`12158104例如:ITPUB个人空间:U E!s%OY&hW{g
3zA'Z&A+kT12158104SELECT /*+INDEX_JOIN(BSEMPMS SAL_HMI HIREDATE_BMI)*/ SAL,HIREDATEITPUB个人空间7V(SXr(s0j,u
(k{r4J2T#W#QD0FROM BSEMPMS WHERE SAL<60000;
12. /*+INDEX_DESC(TABLE INDEX_NAME)*/ITPUB个人空间F&ZY4Q)`W}k
ET1@7v&g4M`0表明对表选择索引降序的扫描方法.
4L%`C
T'rKd"b"Y0.ziOAJ:n'Z.D`0[12158104例如:ITPUB个人空间Nb.R&z
}3A1bC,SITPUB个人空间Xs(r'~q
SELECT /*+INDEX_DESC(BSEMPMS PK_BSEMPMS) */ FROM BSEMPMS WHERE DPT_NO='SCOTT';
13. /*+INDEX_FFS(TABLE INDEX_NAME)*/ITPUB个人空间G%xEszKF n/TITPUB个人空间K |HN-Vr+WY/J
对指定的表执行快速全索引扫描,而不是全表扫描的办法.ITPUB个人空间5@'L'm$U%m'u
cr
wV,y%[#W0QK12158104例如:ITPUB个人空间q~j