Költség mértékegységei
További mértékegységek a Fizikai terveknél
l
- length
- rekordméret bájtokban
b
- block
- blokkméret bájtokban
T
- tuple
- rekordok száma
B
- fájl mérete blokkokban
- \(\large\lceil\frac T{bf}\rceil\)
bf
- blokkolási faktor
- Mennyi rekord fér el egy blokkban
- \(\large\lfloor\frac{b}l\rfloor\)
M
- memória mérete blokkokban
Például (R x S) mérete:
\[
l(R\times S) = l(R) + l(S)
\]
\[
T(R\times S) = T(R) \times T(S)
\]
\[
bf(R\times S) = \dfrac b {l(R) + l(S)}
\]
\[
B(R \times S) = \dfrac{(T(R)\times T(S)) \times (l(R)+l(S))}b
\]
\[
B(R \times S) = \dfrac{T(S)\times T(R) \times l(R)}b + \dfrac{T(R)\times T(S)\times l(S)}b
\]
\[
B(R \times S) = T(S) \times B(R) + T(R) \times B(S)
\]
...just think about it
Kiválasztások
A RelAlg kiválasztások felbonthatók atomi kiválasztásokra, így elég azok költségét vizsgálni
Legegyszerűbb kiválasztás
- \(A = a\), ahol:
- \(A\) egy keresési mező
- \(a\) konstans
Oszlop egyenlő konstans (kifejezés)
pl.: Name = "Cserép"
Vizsgált bonyolultságok
- átlagos
- legrosszabb eset
Az esetek vizsgálatánál szímít, hogy
A=afeltételből egy rekord jön vissza, vagy lehet több is
Egyenletességi feltétel
DB2 fel szokta tenni, hogy minden ugyanolyan tulajdonságú adatok csoportjában kb ugyanannyi van
"Fel szoktuk tenni, hogy az
A=afeltételnek eleget tevő rekordokból nagyjából egyforma számú rekord szerepel"Ty EA, very cool 😳
Képméret
- Az
Aoszlopban szereplő különböző értékek száma - Jele: \(l(A)\)
DISTINCT COUNT(*):question_mark:
Egyenletességi feltétel esetén:
\[
T(\sigma_{A=a}(R)) = \dfrac{T(R)}{l(A)}
\]
\[
B(\sigma_{A=a}(R)) = \dfrac{B(R)}{l(A)}
\]
Speciális táblanevek
I
- Indexek
T(I)- indexrekordok száma...