Műveletek költségei
\(\sigma\) - Kiválasztás
\(\sigma\) - Általános, nem rendezett mezőn
- Lineáris keresés
Olvassunk be minden lapot, és keressük az egyezéseket
\(\sigma\) nem rendezett - átlagos költség
- nem kulcsnál: \(B_R\)
- kulcsnál: \(\dfrac{B_R}{2}\)
\(\sigma\) - Rendezett Mezőn
- \(\|log_2B_R\|+m\)
\(\sigma\) rendezett - átlagos költség
- \(m\) további lapot kell beolvasni
- \(m = {\huge\lceil}\dfrac{\href{./05_1_CostMath.md#scar}{SC(A,R)}}{\href{./05_1_CostMath.md#fr}{F_R}}{\huge\rceil} - 1\)
\(\sigma\) elsődleges/cluster index - átlagos költség
- Egyetlen rekord \(HT_i\)$ + 1$
- Több rekord \(HT_i\)$ + {\huge\lceil}\dfrac{\href{./05_1_CostMath.md#scar}{SC(A,R)}}{\href{./05_1_CostMath.md#fr}{F_R}}{\huge\rceil}$
\(\sigma\) másodlagos index - átlagos költség
- Egyetlen rekord \(HT_i\)$ + 1$
- Ami nagyobb lesz, mint az elsődleges indexénél (ugye a fedőértékek miatt)
- Nem kulcs mező \(HT_i\) + \(SC(A,R)\)
- sok egyezésnél érdemesebb lehet a lineáris keresés
\(\large\sigma_\text{F}\) - Összetett Kiválasztás
Konjunkciós kiválasztás
\(\large{\sigma_{\theta_1~\land~\theta_2\land\ldots\land\theta_n}}\)
- Egyszerű kiválasztás a legkissebb költségű \(\theta_i\)-re
- Mondjuk ha van hozzá index, akkor annak segítségével
- utána jöhet a maradék \(\theta\) feltétel
- Költség: az egyszerű kiválasztás költsége a kiválasztott \(\theta\)-ra
- Ha van több index:
- válasszuk ki a \(\theta_i\)-hez tartozó indexeket
- keressünk a sor indexeket a metszetben
RID(row id)
- Költség: a költségek összege + rekordok beolvasása
Diszjunkciós kiválasztás
\(\large{\sigma_{\theta_1~\lor~\theta_2\lor\ldots\lor\theta_n}}\)
- Ha van több index
- keressünk a sor indexeket az unióban
RID(row id)
- Költség: a költségek összege + rekordok beolvasása
- keressünk a sor indexeket az unióban
- Az optimalizásó gyakran csak lineáris keresést csinál
- legtöbbször valóban indokolt
Méretbecslés - Kiválasztás
Használva az egyenletességi feltételt
Plusz a keresési feltételekre függetlenséget teszünk fel, ami így felső korlátokat fog adni
- \(s_i\): \(i\)-edik feltétel szelektivitása
- Hány rekord elégíti ki?
| Művelet | Sorok száma | Blokkok száma |
|---|---|---|
| \(\sigma_{A=V}(R)\) | \(\href{./05_1_CostMath.html#scar}{SC(A,R)}\) | \(\dfrac{\href{./05_1_CostMath.html#scar}{SC(A,R)}}{\href{./05_1_CostMath.html#fr}{F_R}}\) |
| \(\sigma_{A\le V}(R)\) | \(\href{./05_1_CostMath.html#nr}{N_R} \times \dfrac{v-\min(A,R)}{\max(A,R) - min(A,R)}\) | \(\dfrac{\text{Sorok száma}}{\href{./05_1_CostMath.html#fr}{F_R}}\) |
| \(\sigma_{\theta_1~\land~\theta_2\land\ldots\land\theta_n}(R)\) | \(\href{./05_1_CostMath.html#nr}{N_R} \times \underset{i}{\overset{n}{\prod}} \dfrac{s_i}{\href{./05_1_CostMath.html#nr}{N_R}}\) | \(\dfrac{\text{Sorok száma}}{\href{./05_1_CostMath.html#fr}{F_R}}\) |
| \(\sigma_{\theta_1~\lor~\theta_2\lor\ldots\lor\theta_n}(R)\) | \(\href{./05_1_CostMath.html#nr}{N_R} \times ( 1- \underset{i}{\overset{n}{\prod}} (1-\dfrac{s_i}{\href{./05_1_CostMath.html#nr}{N_R}}))\) | \(\dfrac{\text{Sorok száma}}{\href{./05_1_CostMath.html#fr}{F_R}}\) |