Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

1

Chng 5
TI U HA CU TRUY VN
1
Mc ch
Ti u ha vn tin l tin trnh la chn k
hach thc thi cu vn tin mt cch hiu qu
nht nht.
Tn t ti nguyn nht.
Hi p nhanh nht.
2
2
Ni dung
1. Tng quan v x l truy vn
2. Ti u ha truy vn dng Heuristics
3. Ti u ha truy vn dng phng php
c lng chi ph
3
Cc bc x l vn tin
Scanning,
parsing and
validating
Intermediate form of query
Query in high-level language (SQL)
1
Query
optimizer
Query code
generator
Intermediate form of query
(Relational algebra expression)
execution plan
2
3
4
Runtime
database
processor
Generated code
Result
4
3
Cc bc x l vn tin
Bc 1
Scan
Xc nh cc t kha ca ngn ng SQL tn thuc Xc nh cc t kha ca ngn ng SQL, tn thuc
tnh, tn quan h.
Parse
Kim tra c php cu truy vn.
Validate
Kim tra tn thuc tnh, tn quan h c trong lc
kh i b h kh
5
khai bo hay khng.
Khng nhp nhng khi dng cc thuc tnh.
Kiu d liu dng so snh u hp l.
Th hin li cu truy vn: i s quan h, query
tree, query graph.
Parse tree
<Query>
<SFW>
Tm cc b phim m din vin sinh vo nm 1960
SELECT title
FROM StarsIn
WHERE starName IN (
SELECT name
FROM MovieStar
WHERE birthdate LIKE %1960);
SELECT <SelList> FROM <FromList> WHRRR <Condition>
<Attribute> <RelName> <Tuple> IN <Query>
title StarsIn <Attribute> ( <Query> )
starName <SFW>
6
SELECT <SelList> FROM <FromList> WHERE <Condition>
<Attribute> <RelName> <Attribute> LIKE <Pattern>
name MovieStar birthDate %1960
4
Chuyn Q thnh SQH
Cu truy vn c phn r thnh cc query
block (QB).
QB l b th h QB l n v c bn c th chuyn sang cc
biu thc SQH v ti u ha.
Mt QB cha mt biu thc n SELEC-FROM-
WHERE-GROUP BY HAVING.
Cc cu truy vn lng trong 1 cu truy vn l
QB l
7
cc QB c lp.
Cc ton t gom nhm (max, min, sum, count)
c th hin dng SQH m rng.
SRLRCT HONV, TENNV
FROM NHANVIEN
WHERE LUONG > (SRLECT MAX(LUONG)
FROM NHANVIRN
outer block
c
WHRRR PHG = 5
)
inner block
c
Bt SQH 1 Bt SQH 2
8
B ti u ha truy vn (Query Optimizer - QO) s chn la k hoch thc thi
cho tng block.
5
Bc 2
DBMS ra k hoch thc hin cu truy vn
ph hp nht trong cc chin lc thc thi ph hp nht trong cc chin lc thc thi.
Tin trnh ny gi l ti u ha cu truy vn.
Bc 3
B pht sinh m s cho ra m thc thi cu
truy vn theo chin lc va chn.
9
Bc 4
Thi hnh m pht sinh.
Sp xp ngoi (external sorting)
Sp xp l thut ton chnh dng khi x l truy vn.V d ORDER BY.
Sp xp cng l bc quan trng dng cho php join, union, v bc
loi b dng trng nhau khi thc hin php chiu.
Trnh thc hin sp xp nu d liu c ch mc cho php truy cp Trnh thc hin sp xp nu d liu c ch mc cho php truy cp
theo th t.
Sp xp ngoi cp n cc thut ton sp xp trn tp tin c s d
liu ln khng th cha trong b nh chnh.
Sort-Merge:
Thut ton sp xp gm 2 bc: sorting v merging.
Sp xp cc subfile (runs) ca tp tin chnh, sau trn cc sorted runs, ri
to subfile ln hn sp xp ri li trn chng
10
to subfile ln hn, sp xp ri li trn chng.
Kch thc ca 1 run v s lng run khi u nR ty vo s lng file
blocks b v khng gian buffer trng nB.
Nu nB = 5 v b = 1024 blocks th nR = b/nB , tc l ban u c 205 run. Sau
khi sp xp, 205 sorted run c lu trong file tm trn a.
6
Php chn
C nhiu chn la khi thc hin php chn n.
S1: Tm tuyn tnh: c tng mu tin v kim tra gi tr thuc tnh c tha
iu kin chn hay khng.
S2: tm nh phn: nu iu kin chn l php so snh bng trn thuc tnh p p p g
kha dng sp xp file, th tm nh phn s c p dng.
S3: Dng primary index hoc hash key c 1 mu tin nu php chn l
so snh bng trn thuc tnh kha khai bo l primary index hoc l
kha bm.
S4: Dng primary index tm nhiu mu tin: nu iu kin so snh l >,
>=, <, <=, trn trng kha c khai bo l primary index th dng index
tm kim trn iu kin =, sau tm thm cc mu tin tha iu kin
khng bng.
11
g b g
S5: Dng clustering index tm nhiu mu tin: nu iu kin chn l so snh
bng trn trng khng l kha v c khai bo clustering index.
S6: Dng secondary index trn iu kin so snh bng tm 1 mu tin
nu index field l kha hoc tm nhiu mu tin nu indexing field khng l
kha. Cch ny cng c th dng tm kim vi iu kin chn khng
phi l so snh bng.
Php chn
iu kin chn phc ni nhau bi AND
Nu thuc tnh trong iu kin chn phc c lin
quan n cc kiu chn n nh cp th quan n cc kiu chn n nh cp th
vn dng chng, sau kim tra kt qu tr v
c tha iu kin chn cn li trong mnh
chn phc hay khng.
Nu iu kin chn phc c lin quan n
composite index th vn dng chng trc tip
12
composite index th vn dng chng trc tip.
Dng pp giao cc record pointer ca tng loi
index lin quan n iu kin chn phc nu
index ang dng gm c record pointer.
7
Php kt R
A=B A=B
SS
J1: Nested-loop join: i vi tng mu tin t trong R, tm tng mu tin s
trong S v kim tra xem hai mu tin c tha t[A] = s[B]?.
J2: Single-loop join: i vi tng mu tin t trong R, dng cu trc ch
mc truy cp trc tip mu tin tha iu kin kt quan h S.
J3: Sort-merge join: nu mu tin trong R v S u c sp xp vt l
trn A v B th php kt din ra rt hiu qu (nu khng th sp xp c
hai trc), c hai tp tin c duyt theo thuc tnh kt, so khp cc
mu tin cng gi tr A v B.
J4: Hash join (kt bm):dng 1 hm bm nh x cc mu tin ca R
vo cc bucket Ri da vo gi tr ca A. Cc mu tin ca S cng c
nh x vo cc bucket Si. Cc Ri v Si c duyt qua t hp cc
b thuc Hi v Si tha iu kin kt.
13
Php chiu
dstt dstt
(R) (R)
Nu dstt c cha kha ca R th s b kt
qu bng s b ca R ban u.
Nu dstt khng cha kha ca R th loi b
nhng b trng.
Sp xp kt qu ri loi b nhng b trng.
14
8
Php ton tp hp
Php ton hi, giao, tr i hi 2 quan h
phi kh hp, thng ci t bng cch sp
xp chng theo cng 1 thuc tnh sau xp chng theo cng 1 thuc tnh, sau
bng 1 php duyt n gin ln 2 quan h
cng to ra quan h kt qu.
Php tch - cc tn rt nhiu chi ph v
nn trnh nu c th.
15
Cc hm kt hp
Nu tnh trn ton bng th c thc hin
bng vic duyt bng hoc dng index nu
c c.
Nu tnh ton trn tng nhm (c group by)
th vic phn nhm c th thc hin bng
cch:
Sp xp.
16
p p
Bm.
Nu c clustering index th ch vic tnh ton trn
tng nhm c sn.
9
Query tree
L cu trc dng cy tng ng vi mt biu
thc i s quan h.
title
starName=name

17
StarsIn name
birthdate LIKE %1960
MovieStar
K hoch thc thi truy vn
K hoch thc thi mc logic (Logical plan)
th hin mc cao v dng i s, qua cu
trc ngn ng truy vn trc ngn ng truy vn.
K hoch thc thi mc vt l (Physical plan)
th hin cp thp v lin quan n vic thc
hin, qua cc phng php truy xut.
C nhiu k hoch thc thi truy vn mc vt
18
C nhiu k hoch thc thi truy vn mc vt
l ng vi mt k hoch thc thi mc logic
cho trc.
10
LP v PP
title
Hash join
SEQ scan index scan
starName=name
StarsIn name

19
StarsIn MovieStar
birthdate LIKE %1960
MovieStar
Cc lut bin i tng ng
1.
c1AND c2 ANDAND cn
(R)
c1
(
c2
(
cn
(R) ))
2.
c1
(
c2
(R))
c2
(
c1
(R)) giao hon ca
3.
L1
(
L2
((
Ln
(R))))
L1
(R)
4.
L1,L2, , Ln
(
c
(R))
c
(
L1,L2, , Ln
(R))
5. R
1

c
R
2
R
2

c
R
1
giao hon ca v x
1 c 2 2 c 1
R
1
xR
2
R
2
xR
1
6.
c
(R
1
R
2
) (
c
(R
1
)) R
2

c
(R
1
R
2
) (
c1
(R
1
)) (
c2
(R
2
)) nu c c th vit l c1 AND c2, c1 gm thuc tnh ca R1, c2 gm
thuc tnh ca R2
7.
L
(R
1

c
R
2
) (
A1, A2 ,An
(R
1
))
c
(
B1, B2 ,Bn
(R
2
)) i ch gia v (hoc x) L = {A1, A2, An,
B1, B2, , Bn} Ai R1, Bi R2
8. v c tnh giao hon, nhng php th khng.
9. Tnh kt hp ca : , x, v : (R
1
R
2
) R
3
R
1
(R
2
R
3
)
10 (R R ) ( (R )) ( (R )) i ch v gm v
20
10.
c
(R
1
R
2
) (
c
(R
1
)) (
c
(R
2
)) i ch v gm , v -
11.
L
(R
1
R
2
)
L
(R
1
)
L
(R
2
)
12.
c
(R
1
xR
2
) R
1

c
R
2
chuyn , x sang
13. Lut DeMorgan NOT (C1 AND C2) (NOT C1) OR (NOT C2)
NOT (C1 OR C2) NOT (C1) AND NOT(C2)
11
Cc lut bin i tng ng
14. (
P
(R
1
- R
2
)
P
(R
1
) R
2
15.
A1,, An
(
C
(R))
A1,, An
(
C
(
A1,, An,Ap
(R)))

c1
(R
1

c2
R
2
) R
1

c1 c2
R
2
21
Gii thut Heuristics
1. Dng quy tc 1, tch cc php chn i cng nhau c th
t do di chuyn php chn xung cc nhnh ca cy.
2. Dng quy tc 2, 4, 6, 10 lin quan n tnh giao han gia
php chn v cc php ton khc di chuyn php chn php chn v cc php ton khc di chuyn php chn
xung nhnh ca cy.
3. Dng quy tc 9 lin quan n tnh kt hp ca cc php 2
ngi, sp xp li cc nt l ca cy cc php chn
c u tin thc hin trc.
4. Dng 12, kt hp tch -cc v php chn thnh php kt.
5 Dng 3 4 7 11 tch v y cc php chiu xung cc
22
5. Dng 3, 4, 7, 11 tch v y cc php chiu xung cc
nhnh.
6. Nhn bit tng nhnh biu din cho mt nhm cc thao tc
c th thi hnh bng chin lc thc hin n.
12
Ti u ha cu truy vn dng vic chn la v
c lng chi ph
c lng chi ph thi hnh mt cu truy vn
cho nhiu chin lc thc thi khc nhau v
chn ra chin lc thi hnh c chi ph thp chn ra chin lc thi hnh c chi ph thp
nht.
Chi ph cho mt chin lc bao gm:
1. Chi ph truy xut n ni lu tr th cp (vd:
a cng)
2 Chi ph lu tr d liu kt qu trung gian
23
2. Chi ph lu tr d liu kt qu trung gian.
3. Chi ph tnh ton: thc hin cc thao tc
trong b nh chnh.
4. Chi ph truyn thng.
Ti u ha cu truy vn dng vic chn la v
c lng chi ph
c lng chi ph cho cc chin lc
truy vn khc nhau, cn lu li thng tin cn
thit trong catalog b ti u ha s dng thit trong catalog b ti u ha s dng.
S mu tin r.
Kch thc trung bnh ca tng mu tin R.
S khi b.
H s khi bfr.
24

Ch mc nu c loi g (primary, secondary,


clustering): s mc x (nu l multilevel index),
s block mc u tin ca index b
I1

13
Ht chng 5
25

You might also like