L5 Flashcards
Mi a kiválasztási kardinalitás?
Azon rekordok átlagos száma, amelyek egy egyenlőségi feltételt kielégítenek. [ SC(A,r) ]
Mit jelent egy attribútum kardinalitása?
az attribútum különböző értékeinek száma
Egy relációs lekérdezés végrehajtási elemei:
- műveletek
- algoritmusok
- sorrend
- workflow
Mire NEM szokás lekérdezést optimalizánli?
maximális felhasználószám
Mi a heurisztikus lekérdezés optimalizálás lépéseinek sorrendje?
- szelekciók süllyesztése
- levelek átrendezése
- illesztések definiálása
- vetítések süllyesztése
Mi egy lekérdezés feldolgozásának általános sorrendje?
- értelmezés és fordítás
- relációalgebrai alak
- végrehajtási terv
- kiértékelés
Milyen típusú join műveletek vannak?
- természetes illesztés
- külső illesztés
- théta illesztés
Mikor másodlagos egy index?
ha nem elsődleges
Mikor elsődleges egy index?
ha az index lehetővé teszi a rekordok olyan sorrendben való olvasását, amely megfelel a rekordok fizikai tárolási sorrendjének
Milyen katalógusinformációk léteznek?
- nr - az r relációban előforduló rekordok száma
- sr - az r reláció egy rekordjának mérete
- br - az r relációban levő, rekordokat tároló blokkok száma
Milyen tipikus költségfüggvények léteznek a költségalapú lekérdezések számára?
- lineáris keresésnél: Ea1 = br
- binári keresésnél: Ea2 = log2br + [SC(A,r) / fr] - 1
- elsődleges indexxel: Ea3 = HTi + 1
Mi az a relációalgebrai fa?
primitív műveletek szekvenciái
Milyen két alapvetően különböző módszert ismertünk meg a relációs lekérdezések optimalizálására?
- heurisztikus
- költségalapú
Milyen elemekből áll egy indexrekord?
- kulcs
- pointer
Milyen előnyei vannak a sűrűindexnek?
- nem kell rendezetten tárolni az adatállományt
- meggyorsítja a rekordelérést
- támogatja a több kulcs szerinti keresést
Milyen elemekből áll egy hash-tábla?
indexállományokból, amelyekben valamilyen adatállománybeli rekordra mutató indexrekordok vannak
Milyen előnyei vannak az algoritmikus (gépi) lekérdezés optimalizálásnak?
- szélesebb ismeret a tárolt adatértékekről
- gyorsabb numerikus kiértékelési mechanizmus
- szisztematikus értékelés
- algoritmusa több szaki együttes tudását hordozza
- dinamikusan, minden művelet előtt, az aktuális feltételeket figyelembe véve értékelődik ki
Milyen előnyei vannak az emberi lekérdezések optimalizálásának?
- szélesebb általános ismeret
- felhasználható lehet a probléma szemantikai tartalma
- nagyobb szabadság a felhasználható módszerek, eszközök terén
- jobban felkészült a váratlan helyzetekre
Milyen előnye és hátránya van a pipeline alapú lekérdezés kiértékelésnek?
–(nem történik materializáció)
hátrány: nincs közbülső reláció (pl. nincs rendezés)
előny: alacsony memóriakövetelmény, mert az eredményeket nem tároljuk sokáig
Milyen előnyei vannak a materializáció alapú lekérdezés kiértékelésnek?
mivel az adatokat a memóriába írjuk, tudunk rendezni
Milyen join algoritmusok léteznek?
- nested loop join
- indexed nested loop join
- block nested loop join
- merge join
- hash join
Milyen algoritmust használunk a rekordok beszúrására ritka index szervezésű állományok esetén?
intervallumfelezgetés, bináris keresés (log2N)
Alap szelekciós algoritmusok (lineáris, bináris keresés):
- lineáris keresés: Ea1 = br
- bináris keresés: Ea2 = ⌈log2br⌉ + ⌈SC(A,r) / fr⌉ - 1
Indexelt szelekciós algoritmusok (elsődleges [kulcson és nem kulcson] és másodlagos index használatával):
elsődleges index használatával:
- egyenlőségi feltétel kulcson: Ea3 = HTi + 1
- egyenlőségi feltétel nem kulcson: Ea4 = HTi + ⌈SC(A,r) / fr⌉
másodlagos index használatával:
- egyenlőségi feltétel: Ea5 = HTi + SC(A,r)
Összehasonlítás alapú szelekció (elsődleges és másodlagos index használatával):
- elsődleges index használatával: Ea6 = HTi + br / 2
- másodlagos index használatával: Ea7 = HTi + LBi / 2 + nr / 2
Nested loop join “költsége”:
legrosszabb esetben: br + nr * bs
ha mindkettő, vagy legalább az egyik reláció befér a memóriába: br + bs
Block nested loop join “költsége”:
legrosszabb esetben: br + br * bs
ha mindkettő, vagy legalább az egyik reláció befér a memóriába: br + bs
Indexed nested loop join “költsége”:
mindig: br + nr * c
c: a szelekció költsége s-en
Merge join “költsége”:
br + bs + ‘a rendezések költsége’
(nagy, hatékonyan rendezhető relációk esetén, általában ez a legkisebb költségű algoritmus)