Tuning
Optimalizáció menete
- SQL Lekérdezés
- Szintaktikus és szemantikus ellenőrzés
- Optimalizáció
- RBO - Szabályalapú
- CBO - Költségalapú
- Itt érkezhet a szótárból statisztika
- Lekérdezési terv
- Sorforrás generátor
- SQL végrehajtás
- Eredmény megjelenítés
RBO vs CBO
RBO
- Rögzített heurisztikus szabályok szerint
Indexen keresztül gyorsabb átnézniTeljesen megegyező index jobb, mint a részben egyező...
CBO
- Adatstatisztikák szerint
- Két mód
- Legjobb átfutás - minden sort minél hamarabb
- Először számol, aztán tér vissza
- Legjobb válaszidő - első sort minél hamarabb
- Ha lehet, már számításkor adjon vissza adatokat
- Legjobb átfutás - minden sort minél hamarabb
Beállítás
- Példány szinten -
optimizer_modeparamáter- Szabály
- Választás
- Statisztikánál CBO, egyébként RBO
- Munkamenet szinten
ALTER SESSION SET optimizer_mode=<mode>;
- Utasítás szinten
- SQL szövegben tippek adhatók
DML vs Query
Általános alak:
Megnyitás\(\to\)Elemzés\(\to\)Végrehajtás(\(\to\)Kiolvasás\(^n\))
Adattárolás
Táblák
- 🍊le minden adatot adatfájlokban tárol
- Helyet és méretet a DBA határozza meg
- Logikailag táblaterekbe csoportosítva
- Minden fájlt egy relatív
fnofájlszám azonosítja
- At adatfájl adatblokkokból áll
- Méretét a
db_block_sizehatározza meg - Minden blokkot a fájlbeli eltolás azonosítja
- Méretét a
- Az adatblokkok rekordokat (sorokat) tartalmaznak
- Minden sort a blokkban elfoglalt helye azonosít
ROWID:<Blokk>.<Sor>.<Fájl>
Indexek
- Az adatfájlokban szintén blokkokban tárolódik
- Szabadalmazott formátum
- Kiegyensúlyozott fák
- Indexelt oszlop(ok) rendezett tárolása
NULLnincs indexelve
- A szerkezet logaritmikus keresést tesz lehetővé
- Indexelt oszlop(ok) rendezett tárolása
- B-fa tartalma
- Csomópont blokkok
- Más csomópont vagy levél mutatóit tartalmazza
- Levélblokkok
- Tényleges adat
- Tartalmazza a
ROWID-t is
- Csomópont blokkok
Tábla és Index I/O
LRUlista vezérli, hogy mi fér be a gyorsítótárba