visual explain lpublic.dhe.ibm.com/.../vr9/pdf/letter/nlv/zh_cn/db2tvc90.pdf · 2006-11-13 · 5d...
TRANSCRIPT
DB2®
Visual Explain LL
DB2 f> 9JCZ Linux M Windows
S151-0455-00
���
DB2®
Visual Explain LL
DB2 f> 9JCZ Linux M Windows
S151-0455-00
���
Z9C>JO0d'VDz7.0,kqXDA:yw;PD;cE"#
f>yw
>D5|, IBM D({E"#|Gy]mI-ia)D,"\f((#$#>vfo|,DE";|(NNz7#$,
R>Vaa)DNNyw;&wgKbM#
ITCZ_==r(}z1XD IBM zm): IBM vfo#
v * T Z _ = = ) : v f o , I C J I B M v f o P D ( I B M P u b l i c a t i o n s C e n t e r ) , x 7 *
www.ibm.com/shop/publications/order#
v *iRz1XD IBM zm,ICJ IBM +r*5K?<(IBM Directory of Worldwide Contacts),x7*
www.ibm.com/planetwide#
Z@zrSCs,*S0DB2 P!*zMz[PD1): DB2 vfo,kBg 1-800-IBM-4YOU(426-4968)#
1z"ME"x IBM s,4Zh IBM G(P(,IBM TZzya)DNNE",P({TNN|O*J1D==9C
rV",x;XTz:NNpN#
© Copyright International Business Machines Corporation 2002, 2006. All rights reserved.
?<
XZ>LL . . . . . . . . . . . . . . 1
Z 1 N. 4(5wlU . . . . . . . . . 34(5wm . . . . . . . . . . . . . . . 39C5wlU . . . . . . . . . . . . . . 34(/, SQL r XQuery odD5wlU . . . . 54(2, SQL r XQuery odD5wlU . . . . 5
Z 2 N. T>M9CCJ=8< . . . . . 7(}SH05wD SQL r XQuery odPmPxP!
q4T>CJ=8< . . . . . . . . . . . . 7A!CJ=8<PD{E . . . . . . . . . . 79CuE,i4Es<Dwv?V . . . . . . . 8q!XZ<PTsD|`j8E" . . . . . . . 9|D<Db[ . . . . . . . . . . . . . . 10
Z 3 N. Z%;Vx}]b73PDxC
J=8 . . . . . . . . . . . . . . . 11k%;Vx}]b73PD5wlU`X*Di/ . . 11Z%;Vx}]b73PKPi/(;xw}M3F
E") . . . . . . . . . . . . . . . . 12Z%;Vx}]b73P9C runstats 4U/mMw
}D103FE" . . . . . . . . . . . . 15Z%;Vx}]b73PTCZ,Si/PDmDP
4(w} . . . . . . . . . . . . . . . 19Z%;Vx}]b73PTmP4(d{w} . . . 24
Z 4 N. ZVx}]b73PDxCJ=
8 . . . . . . . . . . . . . . . . . 29kVx}]b73PD5wlU`X*Di/ . . . 29ZVx}]b73PKPi/(;xw}M3FE
") . . . . . . . . . . . . . . . . . 30ZVx}]b73P9C runstats 4U/mMw}D
103FE" . . . . . . . . . . . . . . 32ZVx}]b73PTCZ,Si/PDmDP4(
w} . . . . . . . . . . . . . . . . . 36ZVx}]b73PTmP4(d{w} . . . . . 40
=< A. Visual Explain En . . . . . 45CJ=8 . . . . . . . . . . . . . . . 45CJ=8< . . . . . . . . . . . . . . 46CJ=8<Zc . . . . . . . . . . . . . 47/: . . . . . . . . . . . . . . . . . 47]w . . . . . . . . . . . . . . . . . 47I> . . . . . . . . . . . . . . . . . 47NjVi . . . . . . . . . . . . . . . 48}]b\mDmUd . . . . . . . . . . . 48/, SQL r XQuery . . . . . . . . . . . 495wlU . . . . . . . . . . . . . . . 49I5wod . . . . . . . . . . . . . . 50
5wod . . . . . . . . . . . . . . . 50Yw} . . . . . . . . . . . . . . . . 50Kc{ . . . . . . . . . . . . . . . . 50E/w . . . . . . . . . . . . . . . . 52Lr| . . . . . . . . . . . . . . . . 52=J . . . . . . . . . . . . . . . . . 52i/E/` . . . . . . . . . . . . . . 53=JD!qT . . . . . . . . . . . . . . 54GM,S . . . . . . . . . . . . . . . 542, SQL r XQuery . . . . . . . . . . . 5553\mDmUd . . . . . . . . . . . . 55mUd . . . . . . . . . . . . . . . . 55Timeron . . . . . . . . . . . . . . . . 56Visual Explain. . . . . . . . . . . . . . 56
=< B. 4V83rEPD VisualExplain Kc{DPm . . . . . . . . 59CMPEXP Kc{ . . . . . . . . . . . . . 59DELETE Kc{ . . . . . . . . . . . . . 60EISCAN Kc{ . . . . . . . . . . . . . 60FETCH Kc{ . . . . . . . . . . . . . 60FILTER Kc{ . . . . . . . . . . . . . 61GENROW Kc{ . . . . . . . . . . . . 61GRPBY Kc{ . . . . . . . . . . . . . 61HSJOIN Kc{ . . . . . . . . . . . . . 62INSERT Kc{ . . . . . . . . . . . . . 62IXAND Kc{ . . . . . . . . . . . . . 62IXSCAN Kc{ . . . . . . . . . . . . . 63MSJOIN Kc{ . . . . . . . . . . . . . 64NLJOIN Kc{ . . . . . . . . . . . . . 64PIPE Kc{ . . . . . . . . . . . . . . 65RETURN Kc{ . . . . . . . . . . . . . 65RIDSCN Kc{ . . . . . . . . . . . . . 65RPD Kc{ . . . . . . . . . . . . . . 65SHIP Kc{ . . . . . . . . . . . . . . 66SORT Kc{ . . . . . . . . . . . . . . 66TBSCAN Kc{ . . . . . . . . . . . . . 67TEMP Kc{ . . . . . . . . . . . . . . 67TQUEUE Kc{ . . . . . . . . . . . . . 67UNION Kc{ . . . . . . . . . . . . . 68UNIQUE Kc{ . . . . . . . . . . . . . 68UPDATE Kc{ . . . . . . . . . . . . . 68XISCAN Kc{ . . . . . . . . . . . . . 69XSCAN Kc{ . . . . . . . . . . . . . 70XANDOR Kc{ . . . . . . . . . . . . 71
=< C. DB2 En . . . . . . . . . . 73}]b . . . . . . . . . . . . . . . . 73#= . . . . . . . . . . . . . . . . . 73m . . . . . . . . . . . . . . . . . 73
© Copyright IBM Corp. 2002, 2006 iii
=< D. d{E" . . . . . . . . . . 754(w}D<r . . . . . . . . . . . . . 75}1DCJ=8 . . . . . . . . . . . . . 759C RUNSTATS . . . . . . . . . . . . 76
=< E. yw . . . . . . . . . . . . 77Lj . . . . . . . . . . . . . . . . . 78
w} . . . . . . . . . . . . . . . . 81
k IBM *5 . . . . . . . . . . . . 83
iv Visual Explain LL
XZ>LL
>LLa)KXZ DB2® Visual Explain D&\?~D8<#(}jI>LLPDNL,
z+KbgN(}9C Visual Explain 4+ SQL r XQuery 5wodDCJ=8w*
;v<4i4#z9+'a9C<PDE"4w{i/,TqC|CDT\#
DB2 I(}9C|DE/w4lizDi/,"7(CJ}]DnQ=(#bVCJ}
]D>6;F*CJ=8#DB2 Jmzi4|!qC44PX(i/DCJ=8,Sx
9z\;KbE/w4PKD)Yw#IT9C Visual Explain +CJ=8T<DN=
T>v4#<Gi/Pf0=D}]bTs(}g,mMw})DIS/m>#|9
|(TG)Ts4PDYw(}g,(hMEr)"T>}]w#
IT(}4PBPNNryPw{n/4a_i/T}]DCJYH:
1. w{mhFMXim}]#
2. 4(J1Dw}#
3. 9C runstats |n4*E/wa)10D3FE"#
4. !qJ1DdCN}#
5. !qJ1Ds(!n#
6. hFi/TvlwXhD}]#
7. 9CCJ=8#
8. 4(5wlU#
9. 9CCJ=8<4DxCJ=8#
b)kT\`XDn/T&ZTB<}PT>DG)n/#(i_8> Visual Explain y
h*DYw#)
>LL|,PXBPYwDNL:
v 4(5wlU#5wlUTZT>CJ=8<GXhD#
v T>M&mCJ=8<#
© Copyright IBM Corp. 2002, 2006 1
v 4Pw{n/"lib)n/GgNDxCJ=8D#
":T\w{;.VI=vNL,;vNLkT%;Vx}]b73,m;vNL
kTVx}]b73#
z+9C DB2 a)Dy>}]b4p=jIb)NL#g{P44(y>}]b,k
ND db2sampl - Create sample database command#
X(Z73DE":
jPK<jDE";k%;Vx}]b73PX#
jPK<jDE";kVx}]b73PX#
2 Visual Explain LL
Z 1 N. 4(5wlU
Z>NLP,z+4(5wlU#5w&\C46qPXZdP`k2,r/, SQL r
XQuery odD73DE"#6q=DE"9z\Kb SQL r XQuery odDa9M
1ZD4PT\#5wlUGZ5w SQL r XQuery od1U/D9uE"#|Z
EXPLAIN_STATEMENT mPGw*~xFsTs(BLOB)4f"D,"R|,BP
E":
v CJ=8DZ?m>(,|(|DKc{T0CJDmMw}#
v E/w9CDP(u~,|(}]bTsD3FE"0?NYwD[FI>#
*KT>CJ=8<,Visual Explain h*5wlUPy|,DE"#
4(5wm
*4(5wlU,Xk7#zDC'j6BPTB5wm:
v EXPLAIN_INSTANCE
v EXPLAIN_STATEMENT
*lib)mGqfZ,k9C DB2 list tables |n#g{b)m;fZ,rXk9
CBP8>E"44(b)m:
1. g{P4t/ DB2,r&"v db2start |n#
2. Z DB2 CLP a>{&,,Sh*9CD}]b#TZ>LL,9C connect tosample |n4,SAy>}]b#
3. 9C EXPLAIN.DDL D~Pa)Dy>|nD~44(5wm#KD~;Z sqllib\misc
?<P#*KPC|nD~,&xkK?<""v db2 -tf EXPLAIN.DDL |n#
K|nD~+4(Ty,SDC'j6*0:D5wm#KC'j6XkTC}]
b_P CREATETAB X(,r__P SYSADM r DBADM (^#
":Zf> 9 P,05wodDz7G<10Z+T> SYSTOOLS #=M10Z(j
6D#=PD5wG<#zXkT SYSTOOLS 5wmPAX(,Visual Explain E
\lw SYSTOOLS G<"+|GT>Z05wodDz7G<10ZP#g{z
;PACJ(,b)G<+;aT>#
9C5wlU
>LLa)K 4 vy>lUozzKb Visual Explain#d;ZBPwZPa)KPX
4(zT:DlUDE",+z;h*4(T:DlUMIT9C>LL#
v */, SQL r XQuery od4(5wlU
v *2, SQL r XQuery od4(5wlU
CZy>lUDi/PvKUk,}n_Uk-m$J 90% DyPG-m01DU{"
?EMUk#
SELECT S.ID,S.NAME,O.DEPTNAME,SALARY+COMMFROM ORG O, STAFF SWHERE
© Copyright IBM Corp. 2002, 2006 3
O.DEPTNUMB = S.DEPT ANDS.JOB <> ’Mgr’ ANDS.SALARY+S.COMM > ALL( SELECT ST.SALARY*.9
FROM STAFF STWHERE ST.JOB=’Mgr’ )
ORDER BY S.NAME
Ci/V=v?V:
1. Si/(C(E(p4D?V)zzI?v-m$JD 90% iID}]P#IZS
i/I ALL ^(,yTvlwKmPnsD5#
2. wi/,SdP?EE`,"JOB ;HZ0Mgr1R$JS6p,}SSi/5XD
5D ORG M STAFF mPDyPP#
wi/|,KTB 3 v=J(HO):
1. O.DEPTNUMB = S.DEPT2. S.JOB <> ’Mgr’3. S.SALARY+S.COMM > ALL ( SELECT ST.SALARY*.9
FROM STAFF STWHERE ST.JOB=’Mgr’ )
b)=JVpm>:
1. ,S?EE`,D ORG M STAFF mD,S=J
2. STAFF mD JOB PD>X=J
3. STAFF mD SALARY M COMM PD>X=J,C=J9CSi/Da{#
*0ky>lU:
1. g{P4t/ DB2,r&"v db2start |n#
2. 7#}]bPP5wm#*K,&q-4(5wmPD8>E"#
3. ,SAh*9CD}]b#TZ>LL,z+,SAy>}]b#*,SAy>}
]b,S DB2 CLP a>{&"v connect to sample |n#
4. *<k$(eDlU,IKP DB2 |nD~ VESAMPL.DDL#
v KD~;Z sqllib\samples\ve ?<P#
v KD~;Z sqllib\samples\ve\inter ?<P#
*KPC|nD~,&xkK?<""v db2 -tf vesampl.ddl |n#
v Xk9C4(5wmyCD,;C'j64KPK|nD~#
v K|nD~;<k$(eDlU#|;a4(mr}]#+Ty>}]bPDm
M}]KPsfyhvDw{n/(}g,CREATE INDEX M runstats)#
VZ,zQITT>M9CCJ=8<#
`XEn:
v Z 52 3D:=J;
`XNq:
v Z 5 3D:4(/, SQL r XQuery odD5wlU;
v Z 5 3D:4(2, SQL r XQuery odD5wlU;
v Z 3 3D:4(5wm;
4 Visual Explain LL
4(/, SQL r XQuery odD5wlU
":>ZPa)K4(5wlUE")zN<#IZQ*za)Ky>5wlU,r
Kz;h*4PKNqMITjICLL#
4UTB=h4(/, SQL r XQuery odD5wlU:
1. g{P4t/ DB2,r&"v db2start |n#
2. 7#}]bPP5wm#*K,&q-4(5wmPD8>E"#
3. Z DB2 CLP a>{&,,Sh*9CD}]b#}g,*,Sy>}]b,&"
v connect to sample |n#
4. Z DB2 CLP a>{&,9CBPN;|n4(/, SQL r XQuery odD5w
lU:
v *4(5wlUx;4P SQL r XQuery od,&"v set current explainsnapshot=explain |n#
v *4(5wlU"4P SQL r XQuery od,&"v set current explainsnapshot=yes |n#
K|nahC5w(CDfw#;)hCKCDfw,ryPsxD SQL r XQuery
od<a\=0l#PX|`E",kND SQL Reference PXZ105wlU;
Z#
5. S DB2 CLP a>{&a; SQL r XQuery od#
6. *i4lUDCJ=8<,I"B;ZXFPDPD05wodz7G<10Z"
+wClU#
7. I!#*XUlU&\,Za; SQL r XQuery od.s"v set current explainsnapshot=no |n#
`XEn:
v Z 49 3D:5wlU;
v Z 49 3D:/, SQL r XQuery;
`XNq:
v Z 3 3D:4(5wm;
4(2, SQL r XQuery odD5wlU
":>ZPa)K4(5wlUE")zN<#IZQ*za)Ky>5wlU,r
Kz;h*4PKNqMITjICLL#
4UTB=h4(2, SQL r XQuery odD5wlU:
1. g{P4t/ DB2,r&"v db2start |n#
2. 7#}]bPP5wm#*K,&q-4(5wmPD8>E"#
3. Z DB2 CLP a>{&,,Sh*9CD}]b#}g,*,Sy>}]b,&"
v connect to sample |n#
4. (}Zs(r<8&CLr19C EXPLSNAP !n,4(2, SQL r XQuery o
dD5wlU#}g,"v bind your file explsnap yes |n#
Z 1 N. 4(5wlU 5
5. I!#*i4lUDCJ=8<,I"B;ZXFPDPD05wodz7G<1
0Z"+wClU#
PX+ EXPLSNAP !nCZH' API DE",kND Administrative API Reference
P|GwTDBZ#
B;=gNYw:
Z0Z 2 N T>M9CCJ=8<1P,z+'0gNi4CJ=8<"mbCJ=
8<DZ]#
`XEn:
v Z 49 3D:5wlU;
v Z 55 3D:2, SQL r XQuery;
`XNq:
v Z 3 3D:4(5wm;
6 Visual Explain LL
Z 2 N. T>M9CCJ=8<
Z>NLP,+9C0CJ=8<10Z4T>M9CCJ=8<#CJ=8<GC
J=8D<Nm>(#ITSC<Pi4BPwnDj8E":
v m(0d`X*DP)Mw}
v Kc{(}g,m(h"ErM,S)
v mUdM/}#
IT(}BP=(4T>CJ=8<:
v SH05wDodDPmPxP!q#
v SLr|PDI5wodDPmPxP!q#
v /,5w SQL r XQuery od#
r*+QCJ=8<CZZZ 1 NP0kDy>5wlU,yTz+SH05wDod
DPmPxP!q#PXT>CJ=8<Dd{=(DE",kND0Visual Explain o
z1#
(}SH05wD SQL r XQuery odPmPxP!q4T>CJ=8<
*(}SH05wDodPmPxP!q4T>CJ=8<:
1. ZXFPDP,9*Tsw,1=R=y>}]b*9#
2. R|%wC}]b"S/vK%P!qT>5wodDz7G<#05wodDz
7G<10Zr*#
3. ;\*_P5wlUDodT>CJ=8<#OqodZ5wlUPP+T>*u
?0G1#+wj6*0i/E 11Du?(I\h*v/=R_E\R=i/E
P)#odD0CJ=8<10Zr*#
":C<GIBrOxPA!D#i/DZ;=P>ZC<DW?,xns;=P>
Z%?#
A!CJ=8<PD{E
CJ=8<TwDN=T>CJ=8Da9#wDZcm>:
v m - T>*XN
v w} - T>*bN
v Kc{ - T>*K_N#TQUEUE Kc{ - T>*=PD_N
v m/} - T>*y_N
TZKc{,Kc{`MR_(EPD}G?vZcD(;j6#ZKc{`MBD
}VG[FI>#
`XEn:
v :5wKc{;(6T\8O7)
© Copyright IBM Corp. 2002, 2006 7
v Z 47 3D:I>;
`XN<:
v Z 67 3D:TQUEUE Kc{;
9CuE,i4Es<Dwv?V
T>CJ=8<1T>DG{v<,rKzI\4;eCZxp?vZcDj8E
"#
ITS0CJ=810ZP9CuE,i4Es<Dwv?V:
1. +sj8k(;Z<s_uE,iuPD!v/rO#
2. s|%w"O/,i,1=<T>*zh*DEsH}*9#
*i4<Dd{?V,I9Cv/u#
*i4sx4SDCJ=8<,k9C0<Ev10Z#IT9CK0Z4Kbz}
Zi4C<DD;?V,9IEsr/@C<#;ZuErPD?VT>ZCJ=8
P#
*v//@<,I+sj8k(;Z0<Ev10ZP;vT>DxrO,4!sj
s|,;sF/sj,1=4=CJ=8<Ph*D?V#
`XEn:
v Z 47 3D:CJ=8<Zc;
8 Visual Explain LL
q!XZ<PTsD|`j8E"
ITCJPXCJ=8<PDTsD|`E"#zITT>:
v gBTsD53?<3FE":
– m"w}rm/}
– XZKc{DE",}g,I>"tTMdkTd?
– ZC/}rC'(eD/}
– mUd
– SQL r XQuery odP}CDP
v XZdCN}Ms(!n(E/N})DE"#
q!m"w}rm/}D3FE":
*i4<P%vm(XN)"w}(bN)rm/}(y_N)D?<3FE
",I+w|DZc#TZy!Ts,03FE"10Zr*,|+T>XZ
Z4(lU1P'D3FE"T010fZZ53?<mPDG)3FE"D
E"#
*i4`vm"w}rm/}D?<3FE",I%w?vTs(|+;vT
>)xP!q;;sY!qZc–>T>3FE"#TZy!D?vTs,<a
r*;v03FE"10Z#(b)0ZI\aX~,h*xP;)OEYw
E\CJyP0Z#)
g{5wPPD STATS_TIME u?|,3FE"4|Bu?,rm>E/w
4(CJ=81;P3FE"#rK,g{E/wh*3)3FE"44(C
J=8,|a9C1!5#g{E/w9C1!3FE",rZ05w1PP
|G+j6*(1!5)#
q!XZ<PKc{Dj8E":
*i4%vKc{(K_N)D?<3FE",I+w|DZc#TZy!K
c{,0Kc{1j8E"0Zr*,C0ZT>gBE":
v @FD[FI>(I/O"CPU 8nM\I>)
v yq*9Dy}(4,@FQw=DP})
v =8Pyq*9QCJ",SDm}
v yq*9QCJDG)mDP}
v yq*9Q&CD=J},|(|GD@F!qT
v ?vKc{DdkTd?}
*i4`vKc{Dj8E",I%w?vTs(|+;vT>)xP!q;
;s!qZc–>T>j8E"#TZy!D?vTs,<ar*;v03FE
"10Z#(b)0ZI\aX~,h*xP;)OEYwE\CJyP0
Z#)
q!XZ/}D3FE":
*i4ZC/}MC'(eD/}D?<3FE",k!qod–>T>3FE
"–>/}#S0/}10ZPT>DPmP!q;vr`vu?,;s%w7
(#TZy!D?v/},<ar*;v0/}3FE"10Z#
q!XZmUdD3FE":
Z 2 N. T>M9CCJ=8< 9
*i4mUdD?<3FE",!qod–>T>3FE"–>mUd#S0m
Ud10ZOT>DPmP!q;vr`vu?"%w7(#TZy!D?v
mUd,<+r*;v0mUd3FE"10Z#
q! SQL r XQuery odPPD3FE":
*i4 SQL r XQuery odP}CDPD3FE",I+wCJ=8<PD
m#0m3FE"10Zr*#%w}CDP4%#0}CDP10Zr*,
|P>mPDP#SCPmP!q;vr`vP,;s%w7(#TZ?vy
!P,wr*;v0}CDP3FE"10Z#
q!XZdCN}Ms(!nDE":
*i4XZdCN}Ms(!n(E/N})DE",IS0CJ=8<10
ZP!qod–>T>E/N}#0E/N}10Zr*,|+T>XZlU4
(1P'DN}5T0105DE"#
`XEn:
v Z 47 3D:CJ=8<Zc;
v Z 52 3D:=J;
|D<Db[
*|DgNT><DwVXw:
1. S0CJ=8<10ZP!qi4 –> hC#0CJ=8<hC1JG>r*#
2. *|D30+,I!q0<1!n(#
3. *|DwVKc{DU+,I9C0y>1"0)91"0|B1M0d{1!n
(#
4. *|Dm"w}rm/}ZcDU+,I!q0Yw}1!n(#
5. *8(ZKc{ZcPT>DV`MDE"(I>ry}`M,y}G=?0*9
@FD5XP}),!q0Kc{1!n(#
6. *8(ZmZcPGT>#={9GC'j6,!q0Yw}1!n(#
7. *8(GC=,T>Zc9GC},T>Zc,!q0Zc1!n(#
8. *Cy!D!n|B<"#fhC,%w&C#
B;=gNYw:
g{z}Z%;Vx}]b73P$w,r*A%;Vx}]b73Pk5wlUX
*Di/,ZK&ITKb;,Dw{n/ITgN|DMDxCJ=8#
g{z}ZVx}]b73P$w,r*AVx}]b73Pk5wlUX*Di
/,ZK&ITKb;,Dw{n/ITgN|DMDxCJ=8#
`XEn:
v Z 47 3D:I>;
`XNq:
v Z 11 3D:k%;Vx}]b73PD5wlU`X*Di/;
v Z 29 3D:kVx}]b73PD5wlU`X*Di/;
10 Visual Explain LL
Z 3 N. Z%;Vx}]b73PDxCJ=8
Z>NLP,z+Kb14PwVw{n/1y>i/DCJ=8M`X0ZgN|
D#(}9C;5P>},=x;)<},z+(}9C runstats |n"mSJ1D
w}4KbgNDxCJ=8D@F\I>(49Gr%i/DCJ=8D@F\I
>)#(}+Dvy>5wlUCw>},z+KbxPw{TZ}]bT\DX*
T#
1PK9C Visual Explain D-i1,z+"Vw{i/Dd{=(#
k%;Vx}]b73PD5wlU`X*Di/
k5wlU`X*Di/;`E* 1 – 4#?vi/<9C,; SQL r XQuery od
(ZZ 1 NPhv):
SELECT S.ID,S.NAME,O.DEPTNAME,SALARY+COMMFROM ORG O, STAFF SWHEREO.DEPTNUMB = S.DEPT ANDS.JOB <> ’Mgr’ ANDS.SALARY+S.COMM > ALL( SELECT ST.SALARY*.9
FROM STAFF STWHERE ST.JOB=’Mgr’ )
ORDER BY S.NAME
+G,i/D?N|z<HH04P9CK|`Dw{<I#}g,0i/ 11;Px
PT\w{,x0i/ 419CDw{<In`#wvi/.dDxphvgB:
i/ 1KPi/(;xw}M3FE")
i/ 2U/i/PmMw}D103FE"
i/ 34(i/PC4,SmDPODw}
i/ 44(mPDd{w}
`XNq:
v Z 12 3D:Z%;Vx}]b73PKPi/(;xw}M3FE");
v Z 15 3D:Z%;Vx}]b73P9C runstats 4U/mMw}D103FE";
v Z 19 3D:Z%;Vx}]b73PTCZ,Si/PDmDP4(w};
v Z 24 3D:Z%;Vx}]b73PTmP4(d{w};
© Copyright IBM Corp. 2002, 2006 11
Z%;Vx}]b73PKPi/(;xw}M3FE")
ZK>}P,* SQL i/4(KCJ=8,+G;xw}M3FE"#
*i4Ki/(i/ 1)DCJ=8<:
1. ZXFPDP,9*Tsw,1=R=y>}]b*9#
2. R|%wC}]b"S/vK%P!qT>5wodDz7G<#05wodDz
7G<10Zr*#
3. +wj6*0i/E 11Du?(I\h*v/=R_E\R=i/EP)#odD
0CJ=8<10Zr*#
12 Visual Explain LL
TBPJbDXp+PzZzKbgNDxi/#
1. i/PD?vm<fZ103FE"p?
*lii/PD?vmGqfZ103FE",I+wCJ=8<PD?vmZ
c#Zr*D0m3FE"10ZP,g{4(lU1;PU/3FE",r5w
PBfD STATS_TIME P|,03FE"4|B1b8vJo#
g{103FE";fZ,E/w+9C1!3FE",C3FE"I\k5J3
FE";,#1!3FE"I0m3FE"10ZP5wPBfDJo01!51
4j6#
y]0m3FE"10ZPXZ ORG mDE",E/w9CK1!3FE"(Z5
w5T_8>)#r*4(lU15J3FE";IC,yT9C1!3FE"
(g STATS_TIME PPy>)#
Z 3 N. Z%;Vx}]b73PDxCJ=8 13
2. KCJ=89CKCJ}]DnP'=(p?
KCJ=8|,m(hxGw}(h#m(hT>*K_N"jG* TBSCAN#g
{Q9CKw}(h,|GaTbNT>"jG* IXSCAN#g{i!Y?}],r
9C*m4(Dw}Hm(hDI>|M#
3. KCJ=8D'{gN?
v1CJ=8yZ5J3FE"1E\7(|D'{#IZE/w9CCJ=8P
D1!3FE",yT;\7(C=8D'{gN#
;c45,&CGBCJ=8D\@FI>,TcUsk-}^)DCJ=8xP
HO#?vZcPP>DI>*[FI>,Si/DZ;=*<cp,1=CZc
("|(CZc)#
Z0CJ=810ZP,\I>s<* 1,067 timeron,T>Z<%?D RETURN (1)P#\@FI>2T>ZC0ZD%?xP#
14 Visual Explain LL
4. B;=gNYw?
ZKP runstats .s,0i/ 21i4y>i/DCJ=8#9C runstats |n
*E/wa)PXi/CJDyPmD103FE"#
`XEn:
v Z 47 3D:CJ=8<Zc;
v Z 47 3D:I>;
`XN<:
v Z 67 3D:TBSCAN Kc{;
v Z 63 3D:IXSCAN Kc{;
Z%;Vx}]b73P9C runstats 4U/mMw}D103FE"
(}9C runstats |nU/103FE","y]Z0i/ 11PhvDCJ=84
9(K>}#
?R(iz9C runstats |n4U/XZmMw}D103FE",Xp1TON4
P runstats |nT4Q-"zKXsD|Bn/rQ4(KBw}1#baxE/w
a)n<7DE"47(nQDCJ=8#g{103FE";IC,E/way]
;<7D1!3FE"!q;vM'DCJ=8#
Z 3 N. Z%;Vx}]b73PDxCJ=8 15
&7#Z|Bm.s9C runstats;qrE/wI\aO*CmGUD#g{Z0Kc
{j8E"10ZODy}HZc,rKJb\wT#ZKivB,jImD|B,
XBKP runstats |n"XB4(\0lDmD5wlU#
*i4Ki/(i/ 2)DCJ=8<:Z05wodDz7G<10ZP,+wj6
*0i/E 21Du?#Kod4PD0CJ=8<10Zr*#
TBPJbDXp+PzZzKbgNDxi/#
1. i/PD?vm<fZ103FE"p?
ORG mD0m3FE"10ZT>E/w9C5J3FE"(STATS_TIME 5G
U/3FE"D5J1d)#3FE"D<7T!vZTSKP runstats |nT4
GqTmDZ]wKXs|D#
16 Visual Explain LL
2. KCJ=89CKCJ}]DnP'=(p?
k0i/ 11;y,0i/ 21PDCJ=89Cm(h(TBSCAN)x;Gw}(
h(IXSCAN)#!\103FE"fZ,+IZi/yCDPO;Pw},yT4
4Pw}(h#Dxi/D;v=(GxE/wa)C4,SmDPO(4,S=
J)#ZK>}P,bGZ;vO"(h,S:HSJOIN (7)#
Z 3 N. Z%;Vx}]b73PDxCJ=8 17
Z HSJOIN (7) Kc{D0Kc{j8E"10ZP,i4dkTd?BfD,S=
J;Z#ZK,SYwPy9CDPP>ZD>PBf#K>}P,b)P*
DEPTNUMB M DEPT#
18 Visual Explain LL
3. KCJ=8D'{gN?
yZnB3FE"DCJ=8<Uazz5JD@FI>(T timeron F)#IZ0i
/ 11PD@FI>yZ1!3FE",yT;\HO=vCJ=8<DI>47(
D;vCJ=8|P'#kI>D_M^X#XkHOyZ5J3FE"DCJ=
8DI>,E\C=<7DP'T@@#
4. B;=gNYw?
0i/ 31i4T DEPTNUMB M DEPT PmSw}D'{#T,S=JP9CD
PmSw}Ia_T\#
`XEn:
v Z 52 3D:=J;
`XN<:
v Z 67 3D:TBSCAN Kc{;
v Z 63 3D:IXSCAN Kc{;
Z%;Vx}]b73PTCZ,Si/PDmDP4(w}
K>}(}T STAFF mOD DEPT PT0 ORG mOD DEPTNUMB P4(w},
"y]0i/ 21PhvDCJ=8x9(#I9ChFKJLr44((iDw}#
*i4Ki/(i/ 3)DCJ=8<:Z05wodDz7G<10ZP,+wj6
*0i/E 31Du?#Kod4PD0CJ=8<10Zr*#
":!\4(K DEPTNUM Dw},+GE/w;a9C|#
Z 3 N. Z%;Vx}]b73PDxCJ=8 19
TBPJbDXp+PzZzKbgNDxi/#
1. ZxPw}DCJ=8P|DK24Z]?
6W-7,S NLJOIN (7) Q!zKCZ0i/ 21DO"(h,S HSJOIN (7)#
9C6W-7,S9C@FI>HO"(h,SD@FI>*M,r*K`MD,
S;h*NNErrY1m#
Q+;vBDbNZc I_DEPT mSZ STAFF mOf#KZcm>T DEPT 4(
Dw},|T>E/w9CDGw}(hx;Gm(h47(*lwD)P#
20 Visual Explain LL
"b,ZCJ=8<DK?VP,T DEPT P4(KBw}(I_DEPT),"9CK
IXSCAN (17) 4CJ STAFF m#Z0i/ 21P,9Cm(h4CJ STAFF m#
2. KCJ=89CKCJ}]DnP'=(p?
IZmSKw},rK9CK IXSCAN Zc IXSCAN (17) 4CJ STAFF m#0i
/ 21;Pw};rK,ZC>}P9CKm(h#
FETCH Zc FETCH (11) T>v ,}K9Cw}(h4lwP DEPT .b,E
/w9+w}Cw8kS STAFF mPlwd{P#ZKivB,Fcvw}(hM
CfiOZ;pDI>HH0CJ=8P9CDj{m(hDI>*M#
":STAFF mDZcvV=N,TT>|k DEPT Dw}M FETCH YwDX5#
Z 3 N. Z%;Vx}]b73PDxCJ=8 21
Ki/DCJ=8T>4(XZ,S=JPyf0DPDw}D'{#w}2IT
SY>X=JD&C#CRGi4Ki/P?vmD>X=J,Ti4+w}mS
A>X=JPy}CDPGgN0lCJ=8D#
Z FETCH (11) Kc{D0Kc{j8E"10ZP,i4[FXTBfDP#K
CfYwD=JPy9CDP* JOB,g0=J1;ZPy>#
":K=JD!qTG .69#bb6ETZK=J+;!q 69% DPxPx;=&
m#
22 Visual Explain LL
Z 3 N. Z%;Vx}]b73PDxCJ=8 23
FETCH (11) Kc{D0Kc{j8E"10ZT>KYw}Z9CDP#zIT4
=,DEPTNAME P>ZdkTd?BDlwDPT_DZ;PP#
3. KCJ=8D'{gN?
KCJ=8HH0>}PDCJ=8DI>|M#[FI>QS0i/ 21PD<
1,755 timeron uYA0i/ 31PD< 959 timeron#
+G,0i/ 31DCJ=8T> STAFF mDw}(h IXSCAN (17) M FETCH
(11)#1w}(hkCfYwiOZ;pDI>!Zj{m(hDI>1,Mb6
ETZ?;vlw=DP<*CJ;Nm"CJ;Nw}#&"TuYT STAFF m
DbV+XCJ#
4. B;=gNYw?
0i/ 41+CfMw}(huYA;PCfD%vw}(h#4(d{w}I\a
5MCJ=8D@FI>#
`XEn:
v Z 47 3D:CJ=8<Zc;
v Z 52 3D:=J;
`XN<:
v Z 64 3D:NLJOIN Kc{;
v Z 63 3D:IXSCAN Kc{;
v Z 60 3D:FETCH Kc{;
Z%;Vx}]b73PTmP4(d{w}
K>}(}T STAFF mPD JOB P4(w}"+ DEPTNAME mSA ORG mDV
Pw}P(mS%@Dw}I\a<BnbDCJ),"y]Z0i/ 31PhvDC
J=8x9(#
*i4Ki/(i/ 4)DCJ=8<:Z05wodDz7G<10ZP,+wj6
*0i/E 41Du?#Kod4PD0CJ=8<10Zr*#
24 Visual Explain LL
Z 3 N. Z%;Vx}]b73PDxCJ=8 25
TBPJbDXp+PzZzKbgNDxi/#
1. KCJ=8IZ4(=Sw}x|DKD)Z]?
E/wQ-{CKT STAFF mPD JOB P4(Dw}(CjG* I_JOB DbN
m>)DEc,Tx;=DxKCJ=8#
26 Visual Explain LL
"b,ZCJ=8<DPd?V,TZ ORG m,H0Dw}(hMCfQ|D*v
w}(h IXSCAN (9)#+ DEPTNAME PmSAT ORG mDw}Q9E/w;
X*xPCfxvnbDCJ$w#
Z 3 N. Z%;Vx}]b73PDxCJ=8 27
2. KCJ=8D'{gN?
KCJ=8HH0>}PDCJ=8DI>|M#[FI>QS0i/ 31PDs<
1,370 timeron uYA0i/ 41PDs< 959 timeron#
28 Visual Explain LL
Z 4 N. ZVx}]b73PDxCJ=8
Z>NLP,z+Kb14PwVw{n/1y>i/DCJ=8M`X0ZgN|
D#(}9C;5P>},=x;)<},z+(}9C runstats |n"mSJ1D
w}4KbgNDxCJ=8D@F\I>(49Gr%i/DCJ=8D@F\I
>)#(}+Dvy>5wlUCw>},z+KbxPw{TZ}]bT\DX*
T#
1PK9C Visual Explain D-i1,z+"Vw{i/Dd{=(#
kVx}]b73PD5wlU`X*Di/
k5wlU`X*Di/;`E* 1 – 4#?vi/<9C,; SQL r XQuery od
(ZZ 1 NPhv):
SELECT S.ID,S.NAME,O.DEPTNAME,SALARY+COMMFROM ORG O, STAFF SWHEREO.DEPTNUMB = S.DEPT ANDS.JOB <> ’Mgr’ ANDS.SALARY+S.COMM > ALL( SELECT ST.SALARY*.9
FROM STAFF STWHERE ST.JOB=’Mgr’ )
ORDER BY S.NAME
+G,i/D?N|z<HH04P9CK|`Dw{<I#}g,0i/ 11;Px
PT\w{,x0i/ 419CDw{<In`#wvi/.dDxphvgB:
i/ 1KPi/(;xw}M3FE")
i/ 2U/i/PmMw}D103FE"
i/ 3TCZ,Si/PmDP4(w}
i/ 4TmP4(d{w}
b)>}GZ_P 7 vomZcD DB2 s5)9f NT 2000 zwO9CVxd"P
TzID#
`XNq:
v Z 30 3D:ZVx}]b73PKPi/(;xw}M3FE");
v Z 32 3D:ZVx}]b73P9C runstats 4U/mMw}D103FE";
v Z 36 3D:ZVx}]b73PTCZ,Si/PDmDP4(w};
v Z 40 3D:ZVx}]b73PTmP4(d{w};
© Copyright IBM Corp. 2002, 2006 29
ZVx}]b73PKPi/(;xw}M3FE")
ZK>}P,* SQL i/4(KCJ=8,+G;xw}M3FE"#
*i4Ki/(i/ 1)DCJ=8<:
1. ZXFPDP,9*Tsw,1=R=y>}]b*9#
2. R|%wC}]b"S/vK%P!qT>5wodDz7G<#05wodDz
7G<10Zr*#
3. +wj6*0i/E 11Du?(I\h*v/=R_E\R=i/EP)#odD
0CJ=8<10Zr*#
TBPJbDXp+PzZzKbgNDxi/#
1. i/PD?vm<fZ103FE"p?
*lii/PD?vmGqfZ103FE",I+wCJ=8<PD?vmZ
c#Zr*D`&0m3FE"10ZP,5wPBfD STATS_TIME P|,03
FE"4|B1b8vV,bm>Z4(lU1;PU/3FE"#
g{103FE";fZ,E/w+9C1!3FE",C3FE"I\k5J3
FE";,#1!3FE"I0m3FE"10ZP5wPBfDJo01!51
4j6#
30 Visual Explain LL
y]0m3FE"10ZPXZ ORG mDE",E/w9CK1!3FE"(Z5
w5T_8>)#r*4(lU15J3FE";IC,yT9C1!3FE"
(g STATS_TIME PPy>)#
2. KCJ=89CKCJ}]DnP'=(p?
KCJ=8|,m(hxGw}(h#m(hT>*K_N"jG* TBSCAN#g
{Q9CKw}(h,|GaTbNT>"jG* IXSCAN#g{i!Y?}],r
9C*m4(Dw}Hm(hDI>|M#
3. KCJ=8D'{gN?
v1CJ=8yZ5J3FE"1E\7(|D'{#IZE/w9CCJ=8P
D1!3FE",yT;\7(C=8D'{gN#
;c45,&CGBCJ=8D\@FI>,TcUsk-}^)DCJ=8xP
HO#?vZcPP>DI>*[FI>,Si/DZ;=*<cp,1=CZc
("|(CZc)#
":TZVx}]b,bG9Cn`J4DZcD[FI>#
Z0CJ=810ZP,\I>s<* 1,234 timeron,T>Z<%?D RETURN (1)P#\@FI>2T>ZC0ZD%?xP#
Z 4 N. ZVx}]b73PDxCJ=8 31
4. B;=gNYw?
ZKP runstats .s,0i/ 21i4y>i/DCJ=8#9C runstats |n
*E/wa)PXi/CJDyPmD103FE"#
`XEn:
v Z 47 3D:CJ=8<Zc;
v Z 47 3D:I>;
`XN<:
v Z 67 3D:TBSCAN Kc{;
v Z 63 3D:IXSCAN Kc{;
ZVx}]b73P9C runstats 4U/mMw}D103FE"
(}9C runstats |nU/103FE","y]Z0i/ 11PhvDCJ=84
9(K>}#
?R(iz9C runstats |n4U/XZmMw}D103FE",Xp1TON4
P runstats |nT4Q-"zKXsD|Bn/rQ4(KBw}1#baxE/w
a)n<7DE"47(nQDCJ=8#g{103FE";IC,E/way]
;<7D1!3FE"!q;vM'DCJ=8#
32 Visual Explain LL
&7#Z|Bm.s9C runstats;qrE/wI\aO*CmGUD#g{Z0Kc
{j8E"10ZODy}HZc,rKJb\wT#ZKivB,jImD|B,
XBKP runstats |n"XB4(\0lDmD5wlU#
*i4Ki/(i/ 2)DCJ=8<:Z05wodDz7G<10ZP,+wj6
*0i/E 21Du?#Kod4PD0CJ=8<10Zr*#
TBPJbDXp+PzZzKbgNDxi/#
1. i/PD?vm<fZ103FE"p?
ORG mD0m3FE"10ZT>E/w9C5J3FE"(STATS_TIME 5G
U/3FE"D5J1d)#3FE"D<7T!vZTSKP runstats |nT4
GqTmDZ]wKXs|D#
Z 4 N. ZVx}]b73PDxCJ=8 33
2. KCJ=89CKCJ}]DnP'=(p?
k0i/ 11;y,0i/ 21PDCJ=89Cm(h(TBSCAN)x;Gw}(
h(IXSCAN)#!\103FE"fZ,+IZi/yCDPO;Pw},yT4
4Pw}(h#Dxi/D;v=(GxE/wa)C4,SmDPO(4,S=
J)#ZK>}P,bGZ;vO"(h,S:HSJOIN (9)#
34 Visual Explain LL
Z HSJOIN (9) Kc{D0Kc{j8E"10ZP,i4dkTd?BfD,S=
J;Z#ZK,SYwPy9CDPP>ZD>PBf#K>}P,b)P*
DEPTNUMB M DEPT#
Z 4 N. ZVx}]b73PDxCJ=8 35
3. KCJ=8D'{gN?
yZnB3FE"DCJ=8<Uazz5JD@FI>(T timeron F)#IZ0i
/ 11PD@FI>yZ1!3FE",yT;\HO=vCJ=8<DI>47(
D;vCJ=8|P'#kI>D_M^X#XkHOyZ5J3FE"DCJ=
8DI>,E\C=<7DP'T@@#
4. B;=gNYw?
0i/ 31i4T DEPTNUMB M DEPT PmSw}D'{#T,S=JP9CD
PmSw}Ia_T\#
`XEn:
v Z 52 3D:=J;
`XN<:
v Z 67 3D:TBSCAN Kc{;
v Z 63 3D:IXSCAN Kc{;
ZVx}]b73PTCZ,Si/PDmDP4(w}
K>}(}T STAFF mOD DEPT PT0 ORG mOD DEPTNUMB P4(w},
"y]0i/ 21PhvDCJ=8x9(#I9ChFKJLr44((iDw}#
*i4Ki/(i/ 3)DCJ=8<:Z05wodDz7G<10ZP,+wj6
*0i/E 31Du?#Kod4PD0CJ=8<10Zr*#
":!\4(K DEPTNUM Dw},+GE/w;a9C|#
36 Visual Explain LL
TBPJbDXp+PzZzKbgNDxi/#
1. ZxPw}DCJ=8P|DK24Z]?
Q+;vBDbNZc I_DEPT mSZ STAFF mOf#KZcm>T DEPT 4(
Dw},|T>E/w9CDGw}(hx;Gm(h47(*lwD)P#
Z 4 N. ZVx}]b73PDxCJ=8 37
2. KCJ=89CKCJ}]DnP'=(p?
i/DCJ=8T>v4(PX ORG mD DEPTNUMB PDw}D'{,a{C
FETCH (15) M IXSCAN (21) m>,xZ STAFF mD DEPT PO#0i/ 21
;PKw};rK,ZC>}P9CKm(h#
38 Visual Explain LL
FETCH(15) Kc{D0Kc{j8E"10ZT>KYw}Z9CDP#
Z 4 N. ZVx}]b73PDxCJ=8 39
Fcvw}MCfiOZ;pDI>HH0CJ=8P9CDj{m(hDI>*
M#
3. KCJ=8D'{gN?
KCJ=8HH0>}PDCJ=8DI>|M#[FI>QS0i/ 21PDs<
1,214 timeron uYA0i/ 31PDs< 755 timeron#
4. B;=gNYw?
0i/ 41+CfMw}(huYA;PCfD%vw}(h#4(d{w}I\a
5MCJ=8D@FI>#
ZVx}]b73PTmP4(d{w}
K>}(}T STAFF mPD JOB P4(w}"+ DEPTNAME mSA ORG mDV
Pw}P(mS%@Dw}I\a<BnbDCJ),"y]Z0i/ 31PhvDC
J=8x9(#
*i4Ki/(i/ 4)DCJ=8<:Z05wodDz7G<10ZP,+wj6
*0i/E 41Du?#Kod4PD0CJ=8<10Zr*#
40 Visual Explain LL
TBPJbDXp+PzZzKbgNDxi/#
1. KCJ=8IZ4(=Sw}x|DKD)Z]?
"b,ZCJ=8<DPd?V,TZ ORG m,H0Dm(hQ|D*w}(h
IXSCAN (7)#+ DEPTNAME PmSA ORG mDw}Q9E/wIDxf0m(
hDCJ#
Z 4 N. ZVx}]b73PDxCJ=8 41
"b,ZCJ=8<DW?,TZ STAFF m,H0Dw}(hMCfQ|D*vw
}(h IXSCAN (39)#T STAFF m4( JOB w}Q9E/w;X*xPCfx
vnbDCJ$w#
42 Visual Explain LL
2. KCJ=8D'{gN?
KCJ=8HH0>}PDCJ=8DI>|M#[FI>QS0i/ 31PDs<
753 timeron uYA0i/ 41PDs< 288 timeron#
Z 4 N. ZVx}]b73PDxCJ=8 43
44 Visual Explain LL
=< A. Visual Explain En
v CJ=8
v CJ=8<
v CJ=8<Zc
v /:
v ]w
v I>
v NjVi
v }]b\mDmUd
v /, SQL r XQuery
v 5wlU
v I5wod
v 5wod
v Yw}
v Kc{
v E/w
v Lr|
v =J
v i/E/`
v =JD!qT
v GM,S
v 2, SQL r XQuery
v 53\mDmUd
v mUd
v Timeron
v Visual Explain
CJ=8
*bvI5w SQL r XQuery od,3)}]GXhD#CJ=88(CJK}]D
Yw3r#CJ=8ICzi4y!m"w}rPD3FE""Kc{DtT"+V
E"(gmUdM/}3FE"H)T0kE/PXDdCN}#hz Visual Explain,
zIT<N==i4 SQL r XQuery odDCJ=8#
?1`kK;uI5w SQL r XQuery od1,E/wMzz;vCJ=8#TZ2
,od,b"zZ<8/s(1,xTZ/,od,r"zZKP1#
CJ=8GyZICE"D@F,Kbb;c\X*#xE/wD@FrGyZgB
y>DE":
© Copyright IBM Corp. 2002, 2006 45
v 53?<mPD3FE"(g{3FE";GnBD,r9C RUNSTATS |n|B
|G#)
v dCN}
v s(!n
v i/E/`
kCJ=8`X*DI>E"GE/wTi/DJ4{CJDnQ@F#i/5Jy
CD1df DB2 6'bD;)rX(}g,,1KPDd{&CLr})d/xd/#
(}9CT\`S,IZKPCi/1?H5JyC1d#
`XEn:
v Z 46 3D:CJ=8<;
v :Visual Explain Ev;(6\m8O:5)7)
`XNq:
v :/,5w SQL r XQuery od;(6\m8O:5)7)
v :i4CJ=8D<Nm>(;(6\m8O:5)7)
v :i4Lr|DI5wod;(6\m8O:5)7)
v :i4H05wDi/odDz7G<;(6\m8O:5)7)
CJ=8<
Visual Explain 9C4T`v4DE"Tzz;vCJ=8<,gB}y>#y];,
Ddk,E/w!q;vCJ=8,Visual Explain ZCJ=8<PT>CCJ=8#
C<PDZcm>mMw}T0Tb)mMy4PD?vYw#Zc.dD4Sm>
}]w#
`XEn:
v Z 45 3D:CJ=8;
v :Visual Explain Ev;(6\m8O:5)7)
`XNq:
46 Visual Explain LL
v :i4H05wDi/odDz7G<;(6\m8O:5)7)
v :/,5w SQL r XQuery od;(6\m8O:5)7)
v :i4CJ=8D<Nm>(;(6\m8O:5)7)
v :i4Lr|DI5wod;(6\m8O:5)7)
CJ=8<Zc
CJ=8<IT>ZcDwiI#b)Zcm>:
v m - T>*XN
v w} - T>*bN
v Kc{ - T>*K_N(8 u_)#TQUEUE Kc{ - T>*=PD_N
v m/} - T>*y_N(6 u_)
`XEn:
v Z 45 3D:CJ=8;
v Z 46 3D:CJ=8<;
/:
P1,IZ|B5MKw}k}]3.dfZD/:H,yTa<B}]3ODP|
D;C#Xiky!w}`XDm+T}]XB("/:#("K/:Dw}TZx
P6'=JDPG#PC,r*|JmTy>mPD}]w|P'D3rCJ#IZ
`FD5Z,;}]3O,SxuY3CfN}#
(#,mP;P;vw}IT_PO_D/:H#
*liw}D/:H,I+w|DZcTT>0w}3FE"10Z#/:HJr/
:rSD5T>ZK0ZP#g{C5OM,&<GXim}]#
`XN<:
v Z 75 3D:4(w}D<r;
]w
]wG}]Domf";C#|kmUdX*,ITGD~"?<rh8#
`XEn:
v Z 55 3D:mUd;
I>
Z Visual Explain DOBDP,I>G4Pod(rodD*X)DCJ=8@FyX
h9CDJ4\?#I>GI CPU I>(T8n}F)M I/O(T0@}M3D*;
}F)DiOCvD#
I>D%;G timeron#timeron ;1SHZNN5JDyC1d,;GxvVT@FD
J4(I>),@FDJ4G}]b\mw4P,;i/D=V=8yXhD#
=< A. Visual Explain En 47
CJ=8<D?;Kc{ZcPT>DI>G[FI>,GS*<4PCJ=8=4
PCX(Kc{(|(4Ps_ZZ).d[FD#|;P43ng53$w:Xr
5X}]PxC'DI>.`DrX#
`XEn:
v Z 56 3D:Timeron;
NjVi
NjViG;nuY*zD<u,|I9}]b\mwZ%vYwPlwPPD;v
i#&mb)P1|G;f"Z_Y:fP#1&CLr"v OPEN CURSOR ks1
Vd_Y:f,x1XUNj1ME_Y:f#&mjyPDPs,4lwPPDm
;vi#
*8(NjViD`M,I+ PREP r BIND |nD BLOCKING !nkBPN};
p9C:
UNAMBIGv+G#}NjVi(1!5)#
ALL #}NjkG#}Njy;Vi#
NO ;+NjVi#
`XNq:
v :8(PVi4uY*z;(6T\8O7)
`XN<:
v :BIND command;(Command Reference)
v :PRECOMPILE command;(Command Reference)
}]b\mDmUd
}]bPITfZ=V`MDmUd:}]b\mU(DMS)M53\mUd
(SMS)#
DMS mUdI}]b\mw\m,"RI|xPhFMw{Tzchs#
DMS mUd(e|(D~(rh8)Pm,}]b}]Td DMS mUdq=f"Z
b)D~(rh8)P#
ImS$VdDD~(rh8)AVPD DMS mUdTvsdf"]?#}]b\m
wT/XB=btZCmUdDyP]wPDVP}]#
DMS M SMS mUdI2fZ,;}]bP#
`XEn:
v Z 55 3D:53\mDmUd;
48 Visual Explain LL
/, SQL r XQuery
/, SQL r XQuery odGZLrKP1Z&CLrZ<8M4PD SQL r XQuery
od#Z/, SQL r XQuery P,ITGTB=Viv.;:
v 9C CLI r CLP ;%X"v SQL r XQuery od
v SQL r XQuery 4|,Z&CLrP6kDwoTd?P#
1 DB2 KP/, SQL r XQuery od1,|4(;vyZ10?<3FE"MdC
N}DCJ=8#KCJ=8ITS;Nod&CLrD4P;AB;N#
/, SQL r XQuery Dm;VN=G2, SQL r XQuery#
`XEn:
v Z 55 3D:2, SQL r XQuery;
5wlU
hz Visual Explain,ITli5wlUDZ]#
5 w l U G ; 9 u D E " , b ) E " G Z 5 w S Q L o d 1 U / D # Z
EXPLAIN_STATEMENT mP|;f"*~xFsTs(BLOB),"|,BPE":
v CJ=8DZ?m>,|(|DKc{"mMCJDw}
v E/w9CDP(u~,|(}]bTsD3FE"0?NYwD[FI>#
th*T> SQL odCJ=8D<Nm>,5wlUGXhD#*7#\;4(5w
lU,r:
1. }]b\mwPXkP5wmTf"5wlU#XZgN4(b)mDE",Ik
ND*zozPD4(5wm #
2. TZ|,2, SQL r XQuery odDLr|,Zs(r<8Lr|1+ EXPLSNAP
!nhC* ALL r YES#by+*Lr|P?uI5w SQL odq!;v5w
lU#PX BIND M PREP |nD|`E",kND Command Reference#
3. TZ/, SQL od,Zs("vb)odD&CLr1,+ EXPLSNAP !nhC
* ALL,r_Z;%X"vod.0+ CURRENT EXPLAIN SNAPSHOT (CD
fwhC* YES r EXPLAIN#PX|`E",kND SQL Reference PXZ10
5wlU;Z#
`XNq:
v Z 3 3D:9C5wlU;
`XN<:
v :BIND command;(Command Reference)
v :PRECOMPILE command;(Command Reference)
=< A. Visual Explain En 49
I5wod
I5wodGITd4P5wYwD SQL r XQuery od#
I5w SQL r XQuery od|(:
v SELECT
v INSERT
v UPDATE
v DELETE
v VALUES
`XEn:
v Z 50 3D:5wod;
5wod
5wodGQ*d4P5wYwD SQL r XQuery od#5wodT>Z05wod
z710ZP#
`XEn:
v Z 50 3D:I5wod;
Yw}
Yw}G*Td4PYwD5e#}g,mrw}G`VKc{(g TBSCAN M
IXSCAN)DYw}#
`XEn:
v Z 50 3D:Kc{;
Kc{
Kc{*4GXkT}]4PDYw,*4G4P SQL r XQuery odDCJ=81
4Tmrw}Ddv#
BPKc{IvVZCJ=8<P:
CMPEXPFcmo=#(vJCZwT==#)
DELETESmP>}P#
EISCAN(hC'(eDw},zI+rDPw#
FETCHS9CX(G<j6DmPCfP#
FILTER(}&C;vr`v=J4}K}]#
50 Visual Explain LL
GENROWzImP#
GRPBY48(Pr/}D+25+PVi"T//}s5#
HSJOINm>"P,S,ZK,S==B,53T=vr`vmD,SPxP"P&
m#
INSERT+PekmP#
IXANDT4T=vr`vw}(hDPj6(RID)4P0k1(AND)Kc#
IXSCANCI!Dt//#9u~(hmDw},SxzzPrPw#
MSJOINm>O",S,dPb?kZ?m<Xk{O,S=J3r#
NLJOINm>6W-7,S,C,S*b?mD?;PCJ;NZ?m#
PIPE +MP#(vJCZwT==#)
RETURNm>4TTC'Di/D}]5X#
RIDSCNT;vr`vw}qCDPj6(RID)PmxP(h#
RPD (Remote PushDown)CZ6L=8DKc{#}K;|( SQL r XQuery od.b,|kf> 8
PD SHIP Kc{G#`F(ZH0f>P* RQUERY Kc{)#
SHIP S6L}]b4lw}]#CZ*O53P#
SORT 48(PD3rTPxPEr"{}X4u?(I!)#
TBSCAN(}S}]31SA!yPXh}]4lwP#
TEMP +}]f"=Y1mPT8XA(I\aG`N)#
TQUEUEZ}]bzmLr.d*Fm}]#
UNION"C4T`vmDPDw#
UNIQUE{}3)8(DPP_PX45DP#
UPDATE|BmPDP#
XISCAN(h XML mDw}#
=< A. Visual Explain En 51
XSCAN/@ XML D5ZcSw#
XANDORJm+xPK0k1(AND)M0r1(OR)KcD=J&CZ`v XML w
}#
`XEn:
v Z 50 3D:Yw};
E/w
E/wG SQL `kwDi~,|*}]YwoT(DML)SQL od!qCJ=8#|
G(}+`V8CCJ=8D4PI>("#M,;sSP!q;v_Pn!@FI
>DCJ=844PD#
`XEn:
v Z 53 3D:i/E/`;
Lr|
Lr|Gf"Z}]bPDTs,C}]b|(&mk&CLrD;v4D~`X*
D SQL odyh*DE"#|IITBYw.;zI:
v C PREP |n$`k4D~
v C BIND |ns(I$`kwzIDs(D~
`XN<:
v :BIND command;(Command Reference)
v :PRECOMPILE command;(Command Reference)
=J
=JG;vQwu~D*X,|m>r~,;vHOYw#=J|(ZT WHERE r
HAVING *<DSdP#
}g,ZBP SQL odP:
SELECT * FROM SAMPLEWHERE NAME = ’SMITH’ ANDDEPT = 895 AND YEARS > 5
TBG=J:NAME = ’SMITH’"DEPT = 895 T0 YEARS > 5#
=JV*TB`p(d3r*SnP'D='JnMD):
1. *<M#9u~+w}(hV`(u-)#(b)u~2;Fw6'(g=J#)
2. ITy]w}4@@w}3(4y=Dw}XF)=J,r*=JPf0DPGw
}|D;?V#
3. ;\Sw}4@@}]3(4y=D}]XF)=J,+G1PTtZ:exP1
rIT@@#
52 Visual Explain LL
4. #t=J(#}KTy>mDr%CJ.b9h* I/O,"RXkZ+}]4Fv:
f3.sEI&C#|G|(,PSi/D=J,rG)A!f"ZkmVtDD
~PD LONG VARCHAR r LOB }]D=J#
1hF=J1,&CTI\Dn_!qT*?jT95XDPnY#
TB`MD=JGnP'Rn#CD:
v TZO",S,r%DH=,S=JGXhD#|Dq=* table1.column =
table2.column,"Jm=v;,mPDP`HTc,Sm#
v >X=JvJCZ;vm#
`XEn:
v Z 54 3D:=JD!qT;
i/E/`
i/E/`GCZ`ki/D;ii/X4frME/<u#
w*Di/E/`:
1 \^FDE/#1ZfM&mJ4\=Oq^F1\PC#k0f> 11a)
DE/sBH,#
2 r%E/#8(;vH0f> 11_DE/6,+k6p 3 0|_6p`H,
E/I>Tx5M,XpGTZG#4SDi/xT|GgK#
3 JHDE/#8uk DB2 MVS™/ESA fDi/E/Xw}C%d#
5 }#E/#(iCZ,19Cr%BqM4Si/DlO73#
7 }#E/#6p 7 }K;uYCZ4S/,i/Di/E/?Tb,|ki/
E/ 5 `,#
d{vCZXbivBDi/E/`*:
0 n!E/#v1h*\Yr;h*E/1(4,T_Pw7w}DmDG#r
%Di/1)9C#
9 nsE/#dV9CZfM&mJ4#v16p 5 &m\&;;19C(4,
CZZ6p 5 4PC;;CDG#4SRQ1Di/)#
(#,O_DE/6pCZ2,i/M$F+(Q\$1d4PDi/,xOME/
6prCZ/,a;DrvKP8NDr%i/#
*hC/, SQL r XQuery odDi/E/,kZ|nP&mwPdkTB|n:
SET CURRENT QUERY OPTIMIZATION = n;
dP0n1GyhDi/E/`#
*hC2, SQL r XQuery odDi/E/,IZ BIND r PREP |nP9C
QUERYOPT !n#
`XEn:
v Z 52 3D:E/w;
=< A. Visual Explain En 53
`XN<:
v :BIND command;(Command Reference)
v :PRECOMPILE command;(Command Reference)
=JD!qT
!qT8NN;P+zc=J(4*f)DI\T#
}g,T_P 1,000,000 PDmYwD=J!qT* 0.01(1%),b6EC=J5Xy
@@D 10,000 P(1,000,000 D 1% ),xOzy@@D 990,000 P#
;c#{9C!qTO_D=J(!qT!ZHZ 0.10)#byD=J5XOYDPT
)+4DKc{9C,rx*sOYD CPU M I/O 4zci/#
>}
YhP;vmP 1,000,000 P,R-<Di/|,;vh*=SEr=hD0ORDER
BY1Sd#C;v!qT* 0.01 D=J,XkTy@@D 10,000 PxPErYw#
+G,C 0.50 b;O!D!q=J,rXkTy@@D 500,000 PxPErYw,r
xh*|`D CPU M I/O 1d#
`XEn:
v Z 52 3D:=J;
GM,S
;i,S,1B5m(sMPkm);,SA~,r`,m(O!Dm,|,B5m
PP5Dhv)1;4wGM,S#
GM,SI 3 vw*?ViI:
v k,S
v Tk,SDa{xP0w} AND1
v jICk,S
|mV*C;v IXAND Kc{.p4D=vr|`v,S#
k,SG,SD;VXbN=,bV,SDa{;GZ?mD0Pj61(RID),x
;GZ?Mb?mPD,S#
GM,S9C0k,S14T0w} AND1Kc{a)0Pj61#C0w} AND1
Kc{[SwV,SD}K'{#0w} AND1Kc{Ddv;Mk0w} OR1Kc
{P,b+T0Pj61Er,"{};MkC0w} AND1Kc{D,SyI\zI
DNNX4P#;s9C Fetch Kc{CfCB5mPDP#ns,Cr/DB5mk
yPD,m`,S,SxjIC,S#
T\(i:
v Z?v,m,SDB5mO4(w}#
54 Visual Explain LL
v 7#ErQP5c;_,TJmVd0w} AND1Kc{D;}Kw#TZGM,
S,bI\h*`o 12MB r 3000 4K 3#TZVxZ"PT,C;}KwGSk
2mErQ`,D2mZfNPVdD,+|\ sortheap }]bdCN}M
sheapthres_shr }]bdCN}^F#
v T,m&C}K=J#g{3FE";GnBD,r9C runstats |n|B|G#
`XN<:
v Z 62 3D:IXAND Kc{;
v :RUNSTATS command;(Command Reference)
v Z 76 3D:9C RUNSTATS;
2, SQL r XQuery
2, SQL r XQuery od6kZ&CLrP#ZIT4P&CLr.0,yPb)6
WodXk;$`kMs(=Lr|P#*4P2, SQL PD XQuery mo=,I9
C XMLQUERY /}#
1 DB2 `kb)od1,|*?vod4(;vCJ=8,C=8yZ$`kMs(
b)od1D?<3FE"MdCN}#
?1KP&CLr1<*9Cb)CJ=8;ZYNs(Lr|.0|G;aDd#
2, SQL r XQuery Dm;VN=G/, SQL r XQuery#
`XNq:
v :Executing XQuery expressions in embedded SQL applications;(Developing Embedded
SQL Applications)
53\mDmUd
}]bPITfZ=V`MDmUd:53\mUd(SMS)M}]b\mUd
(DMS)#
SMS mUdIYw53\m,|+}]b}]f"=4(mUd1yVdDUdP#m
Ud(e|(f"K}]D;vr`v?<76DPm#
D~53\m=ef"wDVdM\m#
SMS M DMS mUdI2fZ,;}]bP#
`XEn:
v Z 48 3D:}]b\mDmUd;
mUd
g{+sM}]b.V*%@\mDF*mUdD?~,rHO]W\m#
=< A. Visual Explain En 55
mUdJmz+}];CVd=X(D_-h8r|GDw?VP#}g,14(m
1,I8(+|Dw}r|DxP$rsTs(LOB)}]D$Pkd`Dm}]V
*4#
mUdIV<Z;vr`vomf"h8(]w)OTa_T\#+G,(i;vm
UdPDyPh8r]w_P`FDT\Xw#
IT=V;,D=(4\mmUd:w*53\mUd(SMS)rw*}]b\mU
d(DMS)#
`XEn:
v Z 47 3D:]w;
Timeron
Timeron G DB2 DI>F?%;#Timeron >m";GNN5JD CPU 4P1d,
xGy]y!CJ=8xv4PX(i/yhJ4D`T?H@F5#
T timeron FD@Fi/I>"4$bCi/D4P1d#+G,ywD@FIT*H
O,;73P`,$w:XBD=vi/a)y!#}g,Zb?rX(}g2~]
?M""$w:X)`,DivB,HI>OMDr%i/`H,f04S,SMs
Mm(hD_I>i/D4P1d&CaO$#
`XEn:
v Z 47 3D:I>;
Visual Explain
":Sf> 6 *<,;Y\S|nPwC Visual Explain#+G,T;ITSXFPD
PDwV}]bTs4wC|#TZKf>,D5Lx9C{F Visual Explain#
Visual Explain JmzT<N==i4Q5wD SQL r XQuery odD CJ=8#I
T9C<Pa)DE"4w{i/,TqC|CDT\#
CJ=8<T>BPnDj8E":
v m(0d`X*DP)Mw}
v Kc{(}g,m(h"ErT0,S)
v mUdM/}#
9IT9C Visual Explain 4PBPYw:
v i4E/19CD3FE"#;sIT+b)3FE"k10?<3FE"xPH
O,Tozz7(XBs(Lr|GqITDxT\#
v 7(Gq9CKw}4CJm#g{49Cw},r Visual Explain ITozz7(
D)PIT(}xPw}xqCC&#
v (}HOw{.0M.sDCZi/DCJ=8<f>,i44PwVw{<ID
'{#
v q!CJ=8PXZ?vYwDE",|(\@FI>Mylw=DP}(y})#
*t/ Visual Explain::
56 Visual Explain LL
v ZXFPDP,R|%w}]b{F"!qT>5wodz7G<r5wi/#
v Z0|n`-w1P,Z0;%13r0E>13O4PI5wod#
v Z Query Patroller P,%w0\\i/tT1JG>r0z7i/tT1JG>PD
T>CJ=8#
`XEn:
v :Visual Explain Ev;(6\m8O:5)7)
=< A. Visual Explain En 57
58 Visual Explain LL
=< B. 4V83rEPD Visual Explain Kc{DPm
v CMPEXP Kc{
v DELETE Kc{
v EISCAN Kc{
v FETCH Kc{
v FILTER Kc{
v GENROW Kc{
v GRPBY Kc{
v HSJOIN Kc{
v INSERT Kc{
v IXAND Kc{
v IXSCAN Kc{
v MSJOIN Kc{
v NLJOIN Kc{
v PIPE Kc{
v RETURN Kc{
v RIDSCN Kc{
v RPD Kc{
v SHIP Kc{
v SORT Kc{
v TBSCAN Kc{
v TEMP Kc{
v TQUEUE Kc{
v UNION Kc{
v UNIQUE Kc{
v UPDATE Kc{
v XISCAN Kc{
v XSCAN Kc{
v XANDOR Kc{
CMPEXP Kc{
Kc{{:CMPEXP
m>:PdrnUa{yh*Dmo=Fc#
(KKc{vCZwT==#)
`XEn:
© Copyright IBM Corp. 2002, 2006 59
v Z 50 3D:Kc{;
DELETE Kc{
Kc{{:DELETE
m>:TmPPD>}#
KKc{m>;vXhDYw#*5MCJ=8DI>,IQ"b&/PZ(e*>
}DP/Dd{Kc{(}g,(hM,S)O#
T\(i:
v t*SmP>}yPDP,rI<G9C DROP TABLE odr LOAD REPLACE|n#
`XEn:
v Z 50 3D:Kc{;
EISCAN Kc{
Kc{{:EISCAN
m>:KKc{(hC'(eDw}4zI+rDPw#K(h9CC'a)D6'
zI/}PD`vt//#9u~#
ZCJy>m(yZ=J)0I4PKYw4u!^(P/#
T\(i:
v P1,}]b|BI\}pw};VN,Sx<B}`Dw}3#bI(}>}"
XB4(w}r_Xiw}4|}#
v g{3FE";GnBD,r9C runstats |n|B|G#
`XEn:
v Z 50 3D:Kc{;
FETCH Kc{
Kc{{:FETCH
m>:9CX(DPj6(RID)SmPCfP#
T\(i:
v )9w}|T|(yCfDP,Sx;XG*CJ}]3#
v iRkCf`XDw},+w|DZcTT>d3FE"0Z#7#Cw}D/:
H\_#
v g{CfyhDdk/dv(I/O)HmPD3}s,rIvs:exs!#
v g{3FE";GnBD,r|B|G#
60 Visual Explain LL
V;}M_553FE"a)XZ=J!qTDE",b)E"7(N1!qw}
(hx;Gm(h#*|Bb)3FE",I9CxP WITH DISTRIBUTION Sd
D runstats |nTmxPYw#
`XEn:
v Z 50 3D:Kc{;
FILTER Kc{
Kc{{:FILTER
m>:#t=JD&C,Tcy]=Ja)Du~T}]xP}K#
T\(i:
v 7#9Cvlwyh}]D=J#}g,7#=JD!qT5m>h*5XDG?
Vm#
v 7#E/6pAY* 3 T9E/w9C,Sx;GSi/#g{b;I\,rI"T
V$X4 SQL i/T{}Si/#
`XEn:
v Z 50 3D:Kc{;
GENROW Kc{
Kc{{:GENROW
m>:;vZC/},|IzIPDmx;9CNNm"w}rKc{Ddk#
GENROW I;E/wC4zI}]P(}g,INSERT odr;)*d;*,SD IN
PmzI}]P)#
*i4I GENROW /}zIDmD@F3FE",I+w|DZc#
`XEn:
v Z 50 3D:Kc{;
GRPBY Kc{
Kc{{:GRPBY
m>:y]8(Pr/}D+25TPxPVi#*zz;i5rT//}s5,K
YwGXhD#
148( GROUP BY P1,g{Z SELECT PmPP[//},rTI9C GRPBY
Kc{,8>14P[/1,+{vmw*%vi&m#
T\(i:
v KKc{m>;vXhDYw#*5MCJ=8I>,IQ"b&/PZ(e*V
iDP/Dd{Kc{(g(hM,S)O#
=< B. 4V83rEPD Visual Explain Kc{DPm 61
v *a_|,%v[//}x^ GROUP BY SdD SELECT odDT\,I"TB
PYw:
– TZ MIN(C) [//},4( C D}rw}#
– TZ MAX(C) [//},4( C D5rw}#
`XEn:
v Z 50 3D:Kc{;
HSJOIN Kc{
Kc{{:HSJOIN
m>:;v"P,S,ZC,S==B,TmPD^(PxP"P&m,TJm1S
,S,x;C$HTb)mDZ]Er#
1 FROM SdP}CK;9;vm1,,SGXhD#;*P;v,S=J9=v;
,mPDP`H,r"P,SMI\5V#b),S=Jh*_Pj+`,D}]`
M#"P,S2I\SXB`4DSi/Pzz,bk NLJOIN Div;y#
"P,S;h*+dkmEr#C,SGby4PD:(h"P,SDZ?m,;s
(}T,SP5xP"P&mxzI;viRm#;s|A!b?m,T,SP5x
P"P&m"lk*Z?mzIDiRm#
T\(i:
v 9C>X=J(4,}C;vmD=J)TuY*,SDPD}?#
v vsCErQsDs!,9dc;sTcZZfP]IC"PiRm#
v g{3FE";GnBD,r9C RUNSTATS |n|B|G#
`XEn:
v Z 50 3D:Kc{;
INSERT Kc{
Kc{{:INSERT
m>:+PekmP#
KKc{m>;vXhDYw#*5MCJ=8I>,IQ"b&/PZ(e*ek
DP/Dd{Kc{(g(hM,S)O#
`XEn:
v Z 50 3D:Kc{;
IXAND Kc{
Kc{{:IXAND
62 Visual Explain LL
m>:T9C0/,;<1<uD`Xw}(hDa{y4PD0k1(AND)K
c#CKc{Jm+xPK0k1(AND)KcD=J&CZ`vw}T!?uYy
>mCJ#
4PKKc{T:
v ZCJy>m.0u!P/D6'#
v +&CZ`vw}D=JC0k1(AND)Kc,Z;p#
v +CZGM,SPDk,Sa{C0k1(AND)Kc,Z;p#
T\(i:
v P1,}]b|BI\}pw};VN,Sx<B}`Dw}3#bI(}>}"
XB4(w}r_Xiw}4|}#
v g{3FE";GnBD,r9C runstats |n|B|G#
v (#,1;^(8P1w}(hnP'#*K@F^(PD}?,E/w9C=J
P}CDPDIC3FE"#g{3)5Hd{5vVC|51,r(}9C
RUNSTATS |nD WITH DISTRIBUTION Sd4ksV<3FE"G\X*D#
(}9CGyHV<3FE",E/wIxp51MG51vVD5#
v IZ*<M#9|G9C IXAND DX|,J IXAND nCIC%Pw}#
v TZGM,S,TB5mM`X,mP?vn_!qTP4(%Pw}#
`XEn:
v Z 50 3D:Kc{;
IXSCAN Kc{
Kc{{:IXSCAN
m>:(hw}TzzuYDPj6w#(hI9CI!D*</#9u~,rI&
CZ}Cw}PDIw}=J#
ZCJy>m(yZ=J)04PKYw4u!OqDPj6/D6'#
T\(i:
v P1,}]b|BI\}pw};VN,Sx<B}`Dw}3#bI(}>}"
XB4(w}r_Xiw}4|}#
v 1CJ=vr`vm1,IT(}Tb?mD,SPa)w}Sx9(}w}CJ
Z?m|P'#
PXw}D|`8<,kND Visual Explain D*zoz#
v g{3FE";GnBD,r9C RUNSTATS |n|B|G#
v (#,1;PY}Pj6Oq1w}(hnP'#*K@FOqPj6D}?,E
/w9C=JP}CDPICD3FE"#g{3)5Hd{5vVC|51,r
(}9C runstats |nD WITH DISTRIBUTION Sd4ksV<3FE"G\X
*D#(}9CGyHV<3FE",E/wIxp51MG51vVD5#
`XEn:
v Z 50 3D:Kc{;
=< B. 4V83rEPD Visual Explain Kc{DPm 63
MSJOIN Kc{
Kc{{:MSJOIN
m>:O",S,dPb?MZ?mD^(P<Xk{O,S=J3r#O",S2
F*O"(h,SrErDO",S#
1 FROM SdP}CK;9;vm1,,SGXhD#;*P;v,S=J9=v;
,mDP`H1,O",SMGI\D#|9IIXB`4DSi/zz#
O",Sh*T,SPDPrdk,r*(#v(hm;N#(}CJw}rErm
IqCKPrdk#
T\(i:
v 9C>X=J(4,}C;vmD=J)TuY*,SDPD}?#
v g{3FE";GnBD,r9C RUNSTATS |n|B|G#
`XEn:
v Z 50 3D:Kc{;
NLJOIN Kc{
Kc{{:NLJOIN
m>:6W-7,S,C,STb?mD?;P(h;N((#P;vw}(h)Z
?m#
1 FROM SdP}CK;9;vm1,,SGXhD#6W-7,S;*sP,S=
J,+;cP;vra4PC|C#
I(}BPYw.;4P6W-7,S:
v *b?mD?vCJP(h{vZ?m#
v *b?mD?vCJPTZ?m4Pw}iR#
T\(i:
v g{Z?m(T>Z NLJOIN Kc{R_Dm)D,S=JPP;vw},r6W-
7,S\I\a|P'#liTi4Z?mG TBSCAN x;G IXSCAN#g{G,
r<GmSd,SPDw}#
m;V9,S|P'D(N*D)=(G4(b?m,SPDw}T9b?mP
r#
v g{3FE";GnBD,r9C RUNSTATS |n|B|G#
`XEn:
v Z 50 3D:Kc{;
64 Visual Explain LL
PIPE Kc{
Kc{{:PIPE
m>:+P*Fxm;Kc{x;|DCP#
(KKc{vCZwT==#)
`XEn:
v Z 50 3D:Kc{;
RETURN Kc{
Kc{{:RETURN
m>:4TTC'Di/D}]5X#bGCJ=8<PDnUKc{,|T>CJ
=8\D[F5MI>#
KKc{m>;vXhDYw#
T\(i:
v 7#9Cvlwyh}]D=J#}g,7#=JD!qT5m>h*5XDG?
Vm#
`XEn:
v Z 50 3D:Kc{;
RIDSCN Kc{
Kc{{:RIDSCN
m>:(hS;vr`vw}qCDPj6(RID)Pm#
1"zBPiv1,E/wa<GKKc{:
v =J(} OR X|V,SrP;v IN =J#I9C;VF*w}0r1(OR)D
<u,C<u+,;mO`vw}CJDa{iOp4#
v 9C%vw}CJDPm$!\PC&,r*ZCJy>P.0ErPj6a9 I/O
|P'#
`XEn:
v Z 50 3D:Kc{;
RPD Kc{
Kc{{:RPD
m>:Z*O53P(}GX5M|0wCZS6L}]4lw}]DKc{#
=< B. 4V83rEPD Visual Explain Kc{DPm 65
g{Kc{|,D6L=8+;a;E/wli,rKKc{IE/w4<G#RPD K
c{r6LGX5}]4"Mlwi/a{Dks#CksIGX5M|0w(}9
C}]4'VD API zI#
`XEn:
v Z 50 3D:Kc{;
SHIP Kc{
Kc{{:SHIP
m>:*O53PC4S6L}]4lw}]DKc{#g{Kc{|,D6L=8
+;a;E/wli,rKKc{IE/w4<G#SHIP Kc{r6L}]4"MCZ
lwi/a{D SQL r XQuery SELECT od#SELECT odG9C}]4'VD
SQL r XQuery =TzID,RIT|,}]4yJmDNNP'i/#
`XEn:
v Z 50 3D:Kc{;
SORT Kc{
Kc{{:SORT
m>:ErYw,|+mPDP4Ud;vr`vPD3rEr,IT!q{}X4
n?#
1;Pw}IzcyksD3r,r_ErHw}(hI>|M1,ErGXhD#
;)yhPQCf,r_Z,SrVi.0*Er}],Er;c<Gw*nUYw
44PD#
g{P}\`,r_ErD}];\4P\@Yw,rCYwh*\_Dz[E\z
IY1m#
T\(i:
v <GmSErPDw}#
v 7#9Cvlwyh}]D=J#}g,7#=JD!qT5m>h*5XDG?
Vm#
v li53Y1mUdD$!s!Qc;,4,|;\ I/O ^F#(*libViv,
!qod –> T>3FE" –> mUd#)
v g{h*51Xsf#Er,I<GvsBPdCN}D5:
– ErQs!(sortheap)#*|DKN},R|%wXFPDPD}]b,;sS
|D/vK%P!qdC#SvVDJG>P!q0T\1!n(#
– ErQP5(sheapthres)#*|DKN},R|%wXFPDPD}]b5},
;sS/vK%P!qdC#SvVDJG>P!q0T\1!n(#
v g{3FE";GnBD,r9C RUNSTATS |n|B|G#
`XEn:
v Z 50 3D:Kc{;
66 Visual Explain LL
TBSCAN Kc{
Kc{{:TBSCAN
m>:m(h(X5(h),|(}S}]31SA!yPXh}]4lwP#
1vVBPiv1,E/w!qK`(hx;Gw}(h:
v (hD5D6'51vV(4,XkCJs`}Dm)
v m\!
v w}/:HOM
v w};fZ
T\(i:
v 1m\s1,w}(hHm(h|P',r*s`}mP;P;CJ#*vsE/
wZbVivB9Cw}(hDI\T,I<GmSP!qT=JDPDw}#
v g{w}Q-fZ+4;9C,rliPXZ|D?v0<PD!q=J#g{b
)=J75fZ,rSB4liCw}D/:HGq;_#(*i4K3FE",I
r*ErBfDmD0m3FE"10Z,Y!q|Dw}4%TT>0w}3F
E"10Z#)
v limUdD$!s!Qc;,4,|;\ I/O ^F#(*libViv,!qod
–>T>3FE"–>mUd#)
v g{3FE";GnBD,r9C RUNSTATS |n|B|G#
V;}M_553FE"a)XZ=J!qTDE"#}g,b)3FE"+CZ
7(N1!qw}(hx;Gm(h#*|Bb)5,I9CxP W I T H
DISTRIBUTION SdD RUNSTATS |nTmxPYw#
`XEn:
v Z 50 3D:Kc{;
TEMP Kc{
Kc{{:TEMP
m>:+}]f"=Y1mPDYw,b)}]+Im;Kc{XA(I\G`N)#
Z&m SQL r XQuery odsa}%Cm(g{.04}%D0)#
*@@Si/rf"Pda{,KKc{GXhD#Z3)ivB(gI|Bod
1),|I\G?FTD#
`XEn:
v Z 50 3D:Kc{;
TQUEUE Kc{
Kc{{:TQUEUE
=< B. 4V83rEPD Visual Explain Kc{DPm 67
m>:mSP,1P`v}]bzmLr&mi/1,C|4+m}]S;v}]b
zmLr+]Am;v#1f0"PT1,9C`v}]bzmLr4&mi/#
mSP`M*:
v >X:mSPCZZ%vZcZD}]bzmLr.d+]}]#>XmSPCZ
VxZ"PT#
v G>X:mSPCZZ;,ZcOD}]bzmLr.d+]}]#
`XEn:
v Z 50 3D:Kc{;
UNION Kc{
Kc{{:UNION
m>:`vmDPwD"C#
KKc{m>;vXhDYw#*5MCJ=8I>,IQ"b&Q"b&/PZ(
eK*"CDP/Dd{Kc{(g(hM,S)O#
`XEn:
v Z 50 3D:Kc{;
UNIQUE Kc{
Kc{{:UNIQUE
m>:{}Z8(P_PX45DPb;Yw#
T\(i:
v v1ZJ1DPfZ(;w}1,KKc{E;GXhD#
PXw}D8<,kND Visual Explain D*zozPDZ Visual Explailn D*z
ozP 4(J1Dw}#
`XEn:
v Z 50 3D:Kc{;
UPDATE Kc{
Kc{{:UPDATE
m>:TmDPP}]D|B#
KKc{m>;vXhDYw#*5MCJ=8I>,IQ"b&/PZ(eK*|
BDP/Dd{Kc{(g(hM,S)O#
`XEn:
v Z 50 3D:Kc{;
68 Visual Explain LL
XISCAN Kc{
Kc{{:XISCAN
m>:T%vi/=J4PKYw#(}ZCJy>m.0TNN`X*D XML }]
w}xP6'(h,ds5u!K5XDOqPj6/M XML Zcj6/D6'#9
Cw}ITa_i/DT\,r*`kw7(Gq9CT0gN9Cw}E"4jI
i/#b(#azzBPa{:
v 4D5TZcxPEr"}%NNX4n
v CfmP|,OqD5D?;P#
v T XML D54P XSCAN Yw#
}g,g{h*iRy> XML D5,NPPvDU*0Murphy1DyPKD{V,r
IC4Cf}7a{DP' XQuery od*:
db2-fn:column("EMPLOYEE.XMLCOL")/emp//name[last="Murphy"]/first
Y(zH0Q9CBPodTyPU4(KyZ XML }]Dw}:
CREATE INDEX empname on EMPLOYEE(XMLCOL)GENERATE KEY USING XMLPATTERN ’//name/last’
AS SQL VARCHAR(50)
i / ` k w I T ! q X I S C A N K c { 4 T i / x P s 5 , | + I C T B #
=:/emp//name/last,Kc{0=1M50Murphy1#w}+PzZlYR=kU
0Murphy1X*DZc#db2exfmt DdvzzDF.,N4p4gBy>:
RowsRETURN( 1)CostI/O|
6454.4NLJOIN( 2)
1.53351e+06189180/--+-\
6996.81 0.922477FETCH XSCAN( 3) ( 7)4091.76 218.587
266 27/---+---\
6996.81 210000RIDSCN TABLE: DB2XML( 4) TX3609.39
81|
6996.81SORT( 5)3609.34
81|
6996.81XISCAN( 6)3017.54
=< B. 4V83rEPD Visual Explain Kc{DPm 69
81|
210000XMLIN: DB2XML
TX_IDX
T\(i:
v P1,}]b|BI\}pw};VN,Sx<B}`Dw}3#bI(}>}"
XB4(w}r_Xiw}4|}#
v 1CJ=vr`vm1,IT(}Tb?mD,SPa)w}Sx9(}w}CJ
Z?m|P'#
v g{3FE";GnBD,r9C RUNSTATS |n|B|G#
`XN<:
v Z 70 3D:XSCAN Kc{;
XSCAN Kc{
Kc{{:XSCAN
m>:KKc{CZ/@ XML ,NTT XPath mo=xPs5,"Zh*1i!D
5,N#KKc{&mI6k-7,SKc{(NLJOIN)+]DZc}C#|ZCJ
=8P;C1Sdkm>#
}g,<GTB XQuery od:
XQUERY for $i in db2-fn:xmlcolumn("MOVIES.XMLCOL")//actor return $i
db2exfmt 5CLr*Kodya)DCJ=8T>CZ&mD5Zc}CD XSCAN K
c{,b)D5Zc}CG(}Tm TELIAZ.MOVIES xPm(hlw=D#K>}P
D XSCAN Kc{5XZ TELIAZ.MOVIES.XMLCOL /OZR=D actor Zc}C#
RowsRETURN( 1)CostI/O|180
NLJOIN( 2)10137.91261/-+\
180 1TBSCAN XSCAN( 3) ( 4)21.931 56.2
1 7|180
TABLE: TELIAZMOVIES
`XEn:
v Z 50 3D:Kc{;
70 Visual Explain LL
XANDOR Kc{
Kc{{:XANDOR
m>:T`vw}(hDa{xP XML }]w}0k1(AND)KP,CZT%Ni
/PD4S=JxPs5#CKc{Jm+xPK0k1(AND)KcD=J&CZ
`vw},T!?uYy>mCJ#
*K\;9C XANDOR Kc{,Xk{OBPu~:
v ;\9C;vH[=J#
v w}i/76P;P(d{#
v yP=J<CZ`, XML P#
g{OvNNu~;zc,r+!x9C IXAND Kc{#
}g db2exfmt $_yT>GyxPK`N XANDOR KcD XML }]w}(hDC
J=84p4gBy>:
RowsRETURN( 1)CostI/O|
0.00915933NLJOIN( 2)985.78998.9779/--+--\
2.96215 0.00309213FETCH XSCAN( 3) ( 11)340.113 217.976
19 27/---+---\
2.96215 210000RIDSCN TABLE: DB2XML( 4) TPCHX332.008
18|
2.96215SORT( 5)331.957
18|
2.96215XANDOR( 6)331.784
18+----------------+--------+-------+----------------+
355.62 6996.81 105000 105000XISCAN XISCAN XISCAN XISCAN( 7) ( 8) ( 9) ( 10)165.892 3017.54 1.6473e+06 851554
9 81 27768 14898| | | |
=< B. 4V83rEPD Visual Explain Kc{DPm 71
210000 210000 210000 210000XMLIN: DB2XML XMLIN: DB2XML XMLIN: DB2XML XMLIN: DB2XML
TPCHX_IDX TPCHX_IDX TPCHX_IDX TPCHX_IDX
?v XISCAN Kc{<4Pw}(h"* XANDOR Kc{a)OqD XML Zcj
6#XANDOR Kc{+&C0k1(AND)M0r1(OR)=J"5Xzci/D
XML #=D XML Zc#
T\(i:
v P1,}]b|BI\}pw};VN,Sx<B}`Dw}3#bI(}>}"
XB4(w}r_Xiw}4|}#
v g{3FE";GnBD,r9C RUNSTATS |n|B|G#
v (#,1;^(8P1w}(hnP'#*K@F^(PD}?,E/w9C=J
P}CDPDIC3FE"#g{3)5Hd{5vVC|51,r(}+ WITHDISTRIBUTION Sdk RUNSTATS |ndO9C4ksV<3FE"G\X*D#
(}9CGyHV<3FE",E/wIxp51MG51vVD5#
`XEn:
v Z 50 3D:Kc{;
72 Visual Explain LL
=< C. DB2 En
v }]b
v #=
v m
}]b
X5}]b+}]m>*mD/O#mI;iQ(eDPMNb}?DPiI#?v
mPD}]Z_-OG`XD,"RITZmkm.d(eX5#Iy]}'-mM
X5Kc(}g INSERT"SELECT M UPDATE)4i4M&m}]#
}|,}]Tb,}]b9|,dTma9Dhv,rK|_PThvT#||(;
i53?<m(b)mhv}]D_-Moma9);dCD~(||,k}]b`
X*DN}5)T0V4U>(|G<}ZxPDBqMITi5DBq)#
}]bITG>XDr6LD#>X}]bZomO;ZZ9CD$w>O,xm;
(zwOD}]br;O*G6LD#
`XEn:
v :Visual Explain Ev;(6\m8O:5)7)
#=
#=GC4T;i}]bTs(}g,m"S<"w}Mp{)xPViD(;j
6#4,g{*4({* PAYROLL Dm,rXkZ}]bPxPQw,TKbd{;
)C'GqQ4(,{Dm,bv}L%wQ1#?vTsD{FvZd#=Ph*
G(;D#
s`}}]bTsDTs{I=?ViI,Z;?VG#={F,Z~?VGTsD
{F#4(;vTs1,I+dVdxX(#=#g{;8(#=,r|;Vdx1
!#=,1!#=(#G4(CTsDK1DC'j6#}g,{* Smith DC'I\
_P{* SMITH.PAYROLL Dm#
#=2I*}]bPDTs#|D4(1dk#=PZ;vTsD4(1d`,##
=IT;vpKyP,xyP_ITXFT#=PD}]MTsDCJ#
`XEn:
v :Visual Explain Ev;(6\m8O:5)7)
m
X5}]b+}]m>*mD/O#mI_-EPDPMP}]((#F*G<)i
I#
© Copyright IBM Corp. 2002, 2006 73
?vm<P;v{F,xZ?vmP,?P<P;v{F#mDwP.d;,VX(
DEP3r,+G,I4IPPD57(D3r4TPxPlw#mPD}]G_-
`XD#yP}]bMm}]<;VdZmUdP#
`XEn:
v :Visual Explain Ev;(6\m8O:5)7)
74 Visual Explain LL
=< D. d{E"v 4(w}D<r
v }1DCJ=8
v 9C runstats
4(w}D<r
4(J1Dw}9E/wITZw}(hHm(h|P'DG)ivB!qw}(
h#
4(w}D;)<r|(:
v ZJ1X=(ew|M(;w}#
v 4(XZi/C4,Sm(Join =J)DNNPDw}#
v 4(XZyZ#fy!SPQwX(5DNNPDw}#
v 4(XZ(#CZ ORDER BY SdPDPDw}#
v 7#9CKvlwzh*D}]D=J#}g,7#=JD!qT5m>h*5X
DG?Vm#
v 14(`Pw}1,w}DZ;P&C*i/PD=Jn#CDG;P#
v 7#w}lIDELM|B,$D*z;a+_#
`XEn:
v :w}DUd*s;(6\m8O:F.7)
v :Visual Explain Ev;(6\m8O:5)7)
`XNq:
v :@FmMw}DUd*s;(6\m8O:5)7)
}1DCJ=8
"4 STATS_TIME P8>4|B3FE"#
I\D-r
E/w9CDG1!5#(b)1!5kX|V0default1;pT>#)bVi
NI\<BCJ=8}1#
Yw (iz9C runstats |n4|B3FE";;sXBs(Lr|#
`XEn:
v Z 45 3D:CJ=8;
v :Visual Explain Ev;(6\m8O:5)7)
© Copyright IBM Corp. 2002, 2006 75
9C RUNSTATS
E/w9C4T}]bD?<m4q!XZ}]b"}]bPD}]?T0d{Xw
DE","9CKE"4!qCJ}]DnQ==#g{103FE";IC,rE
/wITy];<7D1!3FE"4!q;vM'DCJ=8#
?R(iz9C RUNSTATS |n4U/XZmMw}D103FE",Xp1TON
4P RUNSTATS |nT4Q-"zKXsD|Bn/rQ4(KBw}1#baxE
/wa)n<7DE"47(nQDCJ=8#
&7#Z|Bm.s9C RUNSTATS;qr,E/wI\aO*CmGUD#g{Z
0Kc{j8E"10ZODy}HZc,rKJb\wT#ZbVivB,jIm
D|B,XBKP RUNSTATS |n"XB4(\0lDmD5wlU#
"b:
v TIT(}i/CJDyPmMw}9C RUNSTATS#
v V;}M_553FE"7(}]N1V<;yH#*|Bb)5,I9CxP
WITH DISTRIBUTION SdD RUNSTATS TmxPYw#
v }K3FE".b,9Pd{rX(g^(PDEr"ms!T0:eXs!)I
\a0lgN!qCJ=8#
v ZKP RUNSTATS |nr|DdCN}.s,XkXBs(&CLr("I!qX
B5w|GDod)#
RUNSTATS |n(IZ DB2 CLP a>{&dk)ITa);,D3FE"6p,g
BPo(Py>:
y>3FE"
m: RUNSTATS ON TABLE m{
w}: RUNSTATS ON TABLE m{ FOR INDEXES ALL
mMw}:
RUNSTATS ON TABLE m{ AND INDEXES ALL
v?D3FE"
m: RUNSTATS ON TABLE m{ WITH DISTRIBUTION
w}: RUNSTATS ON TABLE m{ FOR DETAILED INDEXES ALL
mMw}:
RUNSTATS ON TABLE m{ WITH DISTRIBUTION AND DETAILED
INDEXES ALL
":ZTO?v|nP,m{XkC#={+^(#
`XEn:
v :Visual Explain Ev;(6\m8O:5)7)
`XN<:
v :RUNSTATS command;(Command Reference)
76 Visual Explain LL
=< E. yw
IBM® I\;ZyPzRrXxa)>D5PV[Dz7"~qr&\XT#PXz1
0yZxrDz7M~qDE",krz1XD IBM zmI/#NNT IBM z7"
Lrr~qD}C"GbZw>r5>;\9C IBM Dz7"Lrr~q#;*;V
8 IBM D*6z(,NN,H&\Dz7"Lrr~q,<ITzf IBM z7"L
rr~q#+G,@@Mi$NNG IBM z7"Lrr~q,rIC'TP:p#
IBM +>I\Q5Pr}Zjkk>D5Z]PXDwn({#a)>D5"4ZhC
'9Cb)({DNNmI#zITCif==+mIi/Dy:
IBM Director of LicensingIBM CorporationNorth Castle DriveArmonk, NY 10504-1785U.S.A.
PX+VZ(DBCS)E"DmIi/,kkzyZzRrXxD IBM *6z(?E*
5,rCif==+i/Dy:
IBM World Trade Asia CorporationLicensing2-31 Roppongi 3-chome, Minato-kuTokyo 106, Japan
>un;JC"zrNNbyDunk1X(I;;BDzRrXx:International
Business Machines Corporation04V41a)>vfo,;=PNNV`D(^[Gw
>D9G5,D)#$,|(+;^Z5,DPXGV("JzMJCZ3VX(C
>D#$#3)zRrXxZ3);WP;Jmb}w>r5,D#$#rK>un
I\;JCZz#
>E"PI\|,<u=f;;<7DX=r!"ms#K&DE"+(Z|D;b
)|D+`k>JODBf>P#IBM ITf1T>JOPhvDz7M/rLrxP
DxM/r|D,x;mP(*#
>E"PTG IBM Web >cDNN}C<;G*K=cp{Ea)D,;TNN==
d1TG) Web >cD#$#G) Web >cPDJO;G IBM z7JOD;?V,
9CG) Web >cx4DgU+IzTPP##
IBM IT4|O*J1DNN==9CrV"zya)DNNE"x^kTzP#NN
pN#
>LrD;mI=g{*KbPXLrDE"To=gB?D:(i)JmZ@"4(
DLrMd{Lr(|(>Lr).dxPE";;,T0(ii)JmTQ-;;DE
"xP`%9C,kkBPX7*5:
IBM Canada LimitedOffice of the Lab Director8200 Warden AvenueMarkham, Ontario
© Copyright IBM Corp. 2002, 2006 77
L6G 1C7CANADA
;*qXJ1Du~Mun,|(3)iNBD;(}?D6Q,<IqCb=fD
E"#
>JOPhvDmILr0dyPICDmIJOyI IBM @] IBM M'-i"IBM
zJm~mI-irNN,H-iPDuna)#
K&|,DNNT\}]<GZ\X73PbCD#rK,Zd{Yw73PqCD
}]I\aPwTD;,#P)b?I\GZ*"6D53OxPD,rK;#$k
;cIC53OxPDb?a{`,#Kb,P)b?G(}Fcx@FD,5Ja
{I\aPnl#>D5DC'&1i$dX(73DJC}]#
f0G IBM z7DE"ISb)z7D)&L"dvf5wrd{I+*qCDJO
Pq!#IBM ;PTb)z7xPbT,2^(7OdT\D+7T"f]TrNNd
{XZG IBM z7Dyw#PXG IBM z7T\DJb&1rb)z7D)&La
v#
yPXZ IBM 44=rrbrDyw<If1|DrUX,x;mP(*,|Gvv
m>K?jMb8xQ#
>E"I\|,ZU#5qYwP9CD}]M(fD>}#*K!I\j{X5w
b)>},>}PI\a|(vK"+>"7FMz7D{F#yPb){F<Gi
9D,k5JL5s5yCD{FMX7DNNW,?tIO#
f(mI:
>E"I\|(4oTN=Dy>&CLr,b)y>5w;,Yw=(OD`L=
(#g{G*4UZ`4y>LrDYw=(OD&CLr`LSZ(API)xP&C
LrD*""9C"-zrV"*?D,zITNNN=Tb)y>LrxP4F"
^D"V",x^kr IBM 6Q#b)>}"4ZyPu~Bw+fbT#rK,IBM
;\##r5>b)LrDI?T"I,$Tr&\#
2b)y>LrD?]=4rdNN?VrNN\zz7,<Xk|(gBf(y
w:
©(s+>D{F)(j)#K?VzkGy] IBM +>Dy>Lr\zv4D#©
Copyright IBM Corp. (dkj]). All rights reserved.
Lj
DB2 f> 9 D5bDwvD5Pj6D+>"z7r~q{FI\G International
Business Machines Corporation rd{+>DLjr~qjG#PX IBM Corporation Z
@zM/rd{zRDLjDE"Z http://www.ibm.com/legal/copytrade.shtml P#
BPwnGd{+>DLjr"aLj,RQZ DB2 D5bPDAY;]D5P9C:
Microsoft®"Windows®"Windows NT® M Windows UjG Microsoft Corporation Z
@zM/rd{zRrXxDLj#
78 Visual Explain LL
Intel®"Itanium®"Pentium® M Xeon® G Intel Corporation Z@zM/rd{zRrX
xDLj#
Java™ MyPyZ Java DLjG Sun Microsystems, Inc. Z@zM/rd{zRrX
xDLj#
UNIX® G The Open Group Z@zMd{zRrXxD"aLj#
Linux® G Linus Torvalds Z@zM/rd{zRrXxDLj#
d{+>"z7r~q{FI\Gd{+>DLjr~qjG#
=< E. yw 79
80 Visual Explain LL
w}
[B]m
(e 73
mUd
(e 55
mPDw}
4(
ZVx}]b73P 40
[C]Yw}
(e 50
i/E/`
(e 53
Lr|
(e 52
4(
w} 75
[D]/, SQL r XQuery od
(e 49
[F]CJ=8
i/;xw}M3FE"
Z%;Vx}]b73P 12
ZVx}]b73P 30
4(d{w}
Z%;Vx}]b73P 24
ZVx}]b73P 40
TCZ,SmDP4(w}
Z%;Vx}]b73P 19
ZVx}]b73P 36
Dx
Z%;Vx}]b73P 11
ZVx}]b73P 29
Ev 45
}1 75
U/103FE"
Z%;Vx}]b73P 15
ZVx}]b73P 32
CJ=8< 46
A!{E 7
Es 8
|Db[ 10
CJ=8< (x)
q!|`j8E" 9
H05wD SQL r XQuery odDP
m 7
CJ=8<Zc 47
[H]PVi
kNDNjVi 48
[J]/:
(e 47
LL
Visual Explain 1
2, SQL r XQuery od
(e 55
[K]I5wod
(e 50
[M]|n
EXPLAIN.DDL 3
vesampl.ddl 3
#=
(e 73
[R]]w
(e 47
[S]}]b
(e 73
}]b\mDmUd
(e 48
5wm
4( 3
5wD SQL od
(e 50
5wD XQuery od
(e 50
5wlU
(e 49
/, SQL r XQuery od 5
2, SQL SQL r XQuery od 5
Visual Explain LL 3
w}
4( 75
[W]=J
(e 52
=JD!qT
(e 54
[X]53\mDmUd
(e 55
GM,S
(e 54
[Y]E/w
(e 52
NjVi
(e 48
k IBM *5 83
Kc{
(e 50
CMPEXP 59
DELETE 60
EISCAN 60
FETCH 60
FILTER 61
GENROW 61
GRPBY 61
HSJOIN 62
INSERT 62
IXAND 62
IXSCAN 63
MSJOIN 64
NLJOIN 64
PIPE 65
RETURN 65
RIDSCN 65
RPD 65
© Copyright IBM Corp. 2002, 2006 81
Kc{ (x)
SHIP 66
SORT 66
TBSCAN 67
TEMP 67
TQUEUE 67
UNION 68
UNIQUE 68
UPDATE 68
XANDOR 71
XISCAN 69
XSCAN 70
[Z]"b 77
CCMPEXP Kc{
hv 59
cost
(e 47
CREATE INDEX od
Ev 75
DDELETE Kc{
(e 60
EEISCAN Kc{
(e 60
EXPLAIN.DDL
|n 3
explsnap !n 5
FFETCH Kc{
(e 60
FILTER Kc{
(e 61
GGENROW Kc{
(e 61
GRPBY Kc{
(e 61
HHSJOIN Kc{
(e 62
IINSERT Kc{
(e 62
IXAND Kc{
(e 62
IXSCAN Kc{
(e 63
MMSJOIN Kc{
(e 64
NNLJOIN Kc{
(e 64
PPIPE Kc{
(e 65
RRETURN Kc{
(e 65
RIDSCN Kc{
(e 65
RPD Kc{
(e 65
runstats
9C 76
SSHIP Kc{
(e 66
SORT Kc{
(e 66
TTBSCAN Kc{
(e 67
TEMP Kc{
(e 67
timerons
XZ 56
TQUEUE Kc{
(e 67
UUNION Kc{
(e 68
UNIQUE Kc{
(e 68
UPDATE Kc{
(e 68
Vvesampl.ddl |n 3
Visual Explain
(e 56
CJ=8 45
CJ=8< 46
LL 1
XXANDOR Kc{
(e 71
XISCAN Kc{
(e 69
XSCAN Kc{
(e 70
82 Visual Explain LL
k IBM *5
*kzyZzRrXxD IBM *5,ki4x7gBD IBM +r*5K?<:
http://www.ibm.com/planetwide
*KbPX DB2 z7D|`E",kCJ http://www.ibm.com/software/data/db2/#
© Copyright IBM Corp. 2002, 2006 83
84 Visual Explain LL
���
Pz!"
S151-0455-00