XML Query Optimization Using Path Indexes Attila Barta
Mariano P. Consens
Alberto O. Mendelzon
Dep. of Computer Science University of Toronto 10 King's College Rd., M5S 3G4, Toronto, ON, Canada
Information Engineering, MIE University of Toronto 5 King's College Rd., M5S 3G8, Toronto, ON, Canada
Dep. of Computer Science University of Toronto 10 King's College Rd., M5S 3G4, Toronto, ON, Canada
[email protected]
[email protected]
[email protected]
"3: !56 ;8! 4?@ A !5 3BCD"?E!#7 $!& -%( '*/8), %>+-.'F#)G/10202 4 7835 H56 6I J35>78K"9A !$ D"0! L 7 H4!# 4 ?= H5!D4K 4 P4C.T ?E65Y@!478%< "40n2y!>6 35"24#A #5V V K0!4!46; z !;>0"! ;4P(K"!;>0! :=4&
2ER6
Q4=¡@OE2.
Z
"
2&.
"
#¡.Z
" _#6.
.. F¡"6.2_.
1¥Z.
61Z¡
"4¡FEt=¡.ET&=E
2=
¡ 2¡"R.T#¡.¢CR=#
:
*=Z_R6¡...¢.
_R¡. F
Z£NÆ^R
6*
2.6
@.
J_¡.6¡.1=
*=Z&8ÀL2a.¡
4¡"F©=È.²â =R
ªM¾°@ F.
Þ Ü òRòF *E4 R
2#
2*R.¡=¢=¡&.¡"R&OÀL6¥E
2=
2£MÆ>.
JZ¡Z.¡]_ÀL=
2@.
4¡.E`R4M2EZ#86¡_8
2=*R¡. F
ZL5E4F"R.E#
:]# 6E
_
DN *.
_"Z¡.
"(FR
C2¡ .Z=
*#R=
8R.5`R6¡...Ç.
R¡R *
Z5£1¡.W¡6E
Ï_ÀL2=ÅE6¡.2
"4¡..XC
#" E¡.
2 66E6E6³4¡.#¢"¡.6#Z G]..R¡.L=R(R.¡.2J© èN²>Ê2ÈE²^Ê4æR¬5£ ®8
2=2==¡Z.Ç¥QE
261¡.6= * 2==¡.6
#=
.F¡¦2.
*&=.6¡ *26#¡.@£.
_=¡_
]#
"
^¡E:¿6..
"F¡.6# 46=¡J=]
Z==
2# E
26¡" *
tC#=R=F=R
*4
4 *
26.¡.FZ>6R
"2E6"
_¡. .
_.2=F#E.
2E
.D£ Æ>.
R#.#
"Z
F¡.¿E
"Ë
#
"D==¡&R"
2¡.b³DE*=_¡ • "42
"4O *
2Z¡.E_E
2#=
&=¡Z]8U¥R
:G.¡.4
.5.@£LÆ^E
4
"4
D.¡Z9.EZ¡.:866
"2 *=RF5..
¿6..5]R4=6
*24R#EÎ#¼_¶R¡.4E ¢
Z:²*.=#
Ï6E
·
4¡..¼42
"4 *
2.¡. 6"Z
Q "Z.2.
Ä¡¼Z6ÄE.
2µ6E6E6
.Å¡. *24R#E_R4=6
R]# .
¿6.¡.4
.
_8&E¡2.
2.2£ Æ>.
_=¡_
]#
"
^¡E:¿6..
"F¡.6# 46=¡J.
2=
F#R
"Z¡=E
• ED9.R
49*#.
21¡E
246
¡.4¡.#
=¡@J¡.O=
F_E¡261
.
24²(CR# .¡..·.
Ë¡Z6.66
ÏC#=½8á *R=
¢
"Q2==¡.R=½=E
=#=
62.
*6.2
*.=¡QG=.D.2E³¡.J2
"4 *
2=E¡@4²RCR# ¡..
66
_¡"F4¡.#
"6=¡@.¡..
.(@6.
_.ZQ#@
.
2£ ¤
FE2.
_¡FR¡6
*R
*F= *#"6T= ¡.`.
_*¡F6.2M_
Z
"
2.¡2C"6
R6J¡.J
R6¡5³4
24¾O=E
Æ^¡.6¡.¡U8á°f
Z
9ÆL¡QC5²_Z6#.
¯8ê°Ë¡. O1&.R.
MR
Z
=¡R *
MDL=R
Ò_E"
##*¡¡2_¡.ÅX
.4
6=#·=R
¼Æ^
Ȣ#.
.&=¡Z__Ë:Æf»OCJ©Ê2Ñ.¬£ÆE»Çá=F2¡&=E
=¡.#282=.
2E6
*R#¡.
&ZbÆ^= *R
¢©:Ê2æ.¬£@±_¡C
5²^"O_
*_==(E
4=.
JZ
"#¡QDz Æ`¡*¡Å
=
¡.¼Z==6
6
14
.W ¢
6.¡.EU6.áÆ^= *R
.
*R#¡EJa.¡.
8C¡=
2.
*¡Z== *T"D=¡.R6¡.2.2*
2EE#¡Z : R2=*=R.
2E
.(=E6
*¡>E=.*6RR6³4¡=@4£ Ã6X.
Æ@»O¶=Z
R.²O
2W=¡.#2F¡E
246¡.F§=R
".=.R 2¡.#=
6=¡1¡Z866
"
F¡.*&R¡"2. F
Z8¯¹R1&R4
=
tÀMÆW. ¡ZR:(82¡.#=
6=¡*¡.^_* R
"4`6
QD¾ `:¯Ç²QÀ`Æ^ ©.¤WÆ #²Z¤UÆ ² ²Q¤ Æ `¬ Æ`.
_CT=E
4(
2
.]"6
OR¡.
*.E¿T
2
.(.2`D6_.
¢.2#
6F=
.£ ê8
22N
2"42¡"=
24#¡Z ¡F6
.&2E
="R=¡. ¢
=Z=¡¡..
R¡R *
ZJ"ZE#R1Z#6.*¡"¡Q=5²O=6..R
F*
a=
2 R¡R *
Z@¯ .F84¡Z=#
¡"F¡^=
.(Q`Z
Ç *
R£ »F2Ë
2E *R#
Q²¢¡@.
.
WÆ@»OÄ2=.
2E6
2ER
"4=¡Z Z
"#¡QDz *.*=]6E=D¡"¢¡.@6E
_¥E
26C_âM#Z.
ÊZ¾ û]Ý4Ô=à.Ú4ÓÖØ#Ô. Õ ý RÔEØ Õ !" !# $ % & ')(* !# "$ !# $ % & ' ý + Ú4ß=ÚÓ2Ö=ØÔÕMý Þ Ü òRòý Ó×.Ö×.ß=Ô ùÙ*ß ÷./û ,10 *.
6
*/û ,).&RF-û ,0b2
JR4=6
6
4²>J¡.Z46
R46=¡¡]_ÀL=
2@.
4¡.E&.. ¢
"Q
X* =.
R6
.=24
.D£ÃUâL=.Z
1äUC
R
ZM6.
F.2#
6F
2
-û ,).F4¡.2#2=
"¢* F.=R#3
2ùF6¡ ½.
¥Z.
6&=&âL"R6
Ê£E4û ,).&6*¡Z2=R
6¡ ¹2¡"R42=
.2#RJZ
J¡Z. _ÀL2=
2ER6
Q=¡@4¾ Þ Ü ò.ò]ß#Ø=ÚDÝD² Þ Ü ò.òß#ØÚ4 Ý Þ Ü òRò¡..
62
_¡*=R
C2 *
O8 ¢¡..
9.a=R
¡.#29¡E
246¡.2£8âL¡ZbE2E4
.²¢4
"4a *
2=R¡"@ R"
2 ¡ 66E6E6³4¡=¢¡..
46
8¡.F
2:(¡.^.¡..
.2£ Ã6¡E
2_¡aE
26¡" ¹4¡E:*..
¡"Z# ¢#"D¡"a*
&.
46#¡. .6¡.6 *2#¡.f£9Ã=ÎZ
§
2=2==¡Z. *¡E
&=R
Ï46¡"·.6¡.6 D#¡. 2¡.==RJ.
*&=Z¡ ¢=¡.2E1=2=6=="¢¡1Z=E666#R¡"^£ ±_¡C
5²^=t=E
¢8¦ ¢¡"R
`=E
*
2E6==.9Z
" ¢ .
#6=42=¡.E4² ¯*Æ^¯ 2EÇ8£ Ã6¡E
2*6¡1@
1Æ>¡2CQt&¡ *R
R
@
42="¡&C
Z
"
26¡ 2¡==
24=2=6#"¡ZF.
_R4R£¤E
2
.]*6.
*6
=46=¡R> *¡E
2^=E
=26=#"G¡6.
Z"Z
bZ
"
21
2.6
E#.
T1.R#
E²#aR
8 ¢¡..
"¡"J¡Æ^¡2*¡**
_E
_* *E#
*
2L¡.M=2=6#"]. .(6.
_E. F.
E=E4
.]6¡2
=
2 *
:²Z6E
_.R *R
.666=.D Z=Z
QO6¡829
=
2 *
\2E#_.¿6¡.5£R¤
2¡.#=
Æá=E6.
R£ÇÆ^R
:2==2 E¡. *D¡"J6.DR
29D.¡.4R *
Z46E²>t_ÀL=.¡
4¡Z.¡.2. *
>6ED R
8R¡^"
2LR
*R
¿E
¢=¡_
26
8..
2G6R.
QD£ Æ`.
§Æ>¡2Ç°N6
4
4 *
2=R¡§R"Ë= ¢=#1#..26.
" ¡.=4=
.¡"R
6=¡.@£^Ã==.
._._.EQ\.¡.4R *
Z¯¼.& R2#
2
2
FÀ`Æ2E&¡Z.Z*J4¡Z=#
¡"&¡.* R
"46
_#¯ 6ED`2=#_=R
8R4
_6
ÀÆ . ÆfÃ
¸2.=R=
6¡.¹.N
¥.Z
"Q ¡Z.
46=¡ND£ Æ`¡*¡J29.
2=
*.
_6.
4¡R6¡]###E¢.
FÆ>¡2¢°Z66
"2 §42
Q F
46.¡.JZ =¡¡.Z=.F2M6E
FT"
*¡(.
*R¡. F
Z>¡ =
J£.®
4#² 6ED8=R
9¡¡8Z¡..
&¡R
bÆ>Æ :Z4=R
&4¡.QNÇZ
b "
J¡Z].
R¡R *
Z£C»*a_
XÇ#b
2
R
¡Ç²¢¡..2
=R
Æ>Æ Ë:.D=E
W= .2=#R#
Q²¢_
XÇ#9@
T9¡½
26=½=R
W
2E
4.=¡.Ë4¡E:9¡.t.
Æ`¡*#@°R2Ä4
4¼ ¢
=R¡L£aÃÌE26#2E#²6E
Î6¡= 4¡R ¡ Æ`¡*#@°R2*#=*R
=¡.6
"X=U=E
¡"¡QÇZ¡..
¡"FÆ6.
_24
Q] *
2=R¡"F# Æ>¡2*¡_R4>E
"]Z= EZ
R
Q(.*=#@=46
Q`Z
C#¡QC¿6#
"
@2¡E66¿6..
*¡.Q# F "46=¡^£ Æ`¡*#@°R2Ë´.
X4
.5a *
2Z¡.=R4b¡R
D
.a¡" .
Æ>¡2Ç# EZ
:.4=R
"2£Æ^EE4²1Æ>¡2*#N°R2¡.Z
"4¡¢=.
.FQF#R.ZC R¡R *
Z8¯¹6_.
Æ>Æ .Æ^Ã
&2.=R=
2*.9Z#6
6
tÀMÆ.&¡.6.Z:_9
¥..
.2
J¡CT=E
4O
.OZ846J.
R2#
2_
OÀMÆ(¾ Æ>¡2*#N°R2R6¯Ç² ÀMÆ^ &©Z¤UÆ Q² ¤UÆ ² ²Z¤WÆ ¬ Æ`¡*#@°R2 6¸6.
".T顸¡ *R¡.=. =R
¡"R
=¡Z:2¾ À>.R
"Æ^¡_=EÆ>
.².Í]¡. *R6
4ÀM*.JÆ^Z
5
R£
`Æ .
&Ç=
1:ÀL.R
"Æ>¡2CNÆ^
2
*¢6¡ *46&6.
9R4
2=´=E
¥Z.
9.2=E(R
.2=#E.
2L£RâL¡.]*.
"JZ=
t=
_ÀMÆa"ZJ" .Z *
Z
2´Æ`¡*#
JƲ^C
F2=>Ù*×.ÖÓ4ñ@Ú4ú ,RÔô_Ø#Õ ,ZÝÚ4Ú4Þ* þ ,),f 6.¡E
9R.¿6
"Ç¡"8Æ>Æa6.2\46=FZ
.2#6
"6F6
4û ,^£LÆ^E
¢.¡..
. ¡Z9þ ,), "6
·.¡.6R
·* ÎZ
§2¡"
..¡Z.E#R·.¡.Z
,
2=
¡" R6
.=24
]=¡Z =E
OED=6
_66
"
(4û ,^£ Æ`.
¡.
"²bÀM6EZ
QÆ^¡_=EÆ`
Ï=R
"·.2=
"Ï
2
ËÀÆ6.2 D686.
_.2==
6*ÀMÆ(¾ ÀL.R
"Æ`¡*#@Æ^
_ÆÆ ² ²RÆR
*
"Z#¡86E
t¦Æ>ÆX¡" âL=..
bÈ.²]#¡Z.
O¡&6
66=
9#8.¡Z.
._6.2 D6JZ
b
"#
D==¡.
2E42=
QCC
94&.¡2
"
2&QÇ¡=¡2Ç2£RâM _
W
.2=.2
=R
.2 Þ Ü ò.òßØ#Ú4Ý ò(ÝwÔZü"ØTÕNÓ2Ú (.
Þ Ü òRò» ¡E¿E¡2*
Z=Z6#¡.C¡Z@F.F=¡.#¡Ç2¾ 6¡>=R¡.
8R¡"R
"R.E#
L6.2M46#OR
6Þ Ü òEòÝÔü.Ø#ÕEÓÚ Z=@²
*
1
=
24_.
4¡.6
.E¡R.=ZÓØ=Ö öÏ4R#=R
.¡Z.
.F"Z6.
16¡ 6E
8ÓØ#Ö öE¡R
"]¡R C_
8
=.2=
O=E
OE6
.46
8¡.¢ÓØ=Ö ö6Æ>6
5
R£2Ã=@6"Z
Q(8R=2*.. *
6
JÆ^¡*# 6
OÀMÆ>Æ 4²Z.
O¡
.¡..R=._E2E4
_R*=.
O=.
CÆ^Ã *2E ¡ZR:(* 6E
4>6
R4M=]Z">¡"^=R
8E_
"^6¡86.
C¥Z.
6R£ Æ`.
25
CZQ`Z
C¡.#=¡QC=ZÇED.
R¾ Æ>2.
5
6ÀMÆ>Æ w²#ÆfÃ.F¤UÆ¡2*#N°R2F24
Q] *
DR¡"¢`R
8¡ *R¡.#=¡.@¾ Æ`¡*#@°R2E6¯*² ÀMÆ^ Æ^
Í]¡" F.Z=
2ÀL=.^ÀMZE
Æ>¡2C=@Æ^
>.
D:Æ>Æ>¯*:² ÀMÆ`M²
2Æ^Ã=6¯C( *.
6
_
Æ(Æ9.¢.
4Æ@Ã>
=_¡*ZE=#=*E.D#¡.R(=EDM
D. Æ(Æ R Æfà ²R
"Z
"6=
@£ Æ`¡*#@°R2 4_6R
8..2.=
_¡">..E#RO.
_.2#6
"6@¿R
2==8D:2£ Æ`.
J.
ZÆ^¡_¡.9Z¡2¡#..
J#R4=R.
.O&# Z=
F
Z=2#¡.¡]=E
Æ`¡_=@°R2W¡..
62¡4£]ÃUâL=R
1ÑUC
.
.
"QG2E#Z
2 *
R=D
¡Z.Z¼6E
4=ÄE6.=
µÅO