Kihagyás

Fizikai tervek

Célok, paraméterek, költséget meghatározására (+indexek)

Optimalizáció folyamata

Optimalizációs lépések

Indexelés

Cél a gyors lekérdezés/módosítás a lehető legkissebb tárterületen

Nincs általánosan legjobb optimalizáció

Valamit valamiért

  • Az indexek gyorsítják az adatelérést, de az indexeket is tárolni kell valahol
  • Tömörítéssel meg sok sikert időben elérni az adatot...

Adatbázis formálya

Statikus

Ritkán módosul, a lekérdezés sebessége a fontos

Dinamikus

Sokat módosítjuk, nincs annyit lekérve az adat

Költségek

  • Nyilván, memóriában gyorsabban dolgozunk, mint háttértárolókon (duh)
  • Az író-olvasó fej nagyobb mennyiségeket olvas be
    • ezek a Blokkok
  • A blokkok mérete függ(het)
    • OS-től
    • DBMS-től
    • Hardvertől
  • 🍊le esetén a blokkméret alapértelmezetten 8K

A blokkok műveletét fogjuk figyelembe venni, hiszen a rendszertől függő "konstans" blokkméret nem fog változni.

A blokkműveletek száma elég lesz a becslésekhez

Indexelés (now rly)

  • A fájlokat (is) érdemes blokkokba szervezni
  • A fájl rekordokból áll
  • A rekordok szerkezete eltérő lehet
  • A rekord tartalmaz
    • Leíró fejlécet:
      • Rekord struktúrájának leírása
      • Külső/belső mutatók (rekord kezdeti pontja, előző/következő rekord)
      • Törlési bit
      • Statisztikák
    • Mezőket
      • Adatokkal
      • Néha üres
  • A rekord hossza lehet
    • Állandó
    • Változó (Ismétlődő mezők, megszorítatlan sSSStringek, stb...)
  • Blokk tartalmaz:
    • Leíró fejlécet:
      • Rekordok száma, struktúrája
      • Külső/belső mutatók (hol vannak üres helyek, előző/következő blokk)
      • Statisztikák (melyik fájlból hány rekord van a blokkban)
    • Rekordok
      • Egy vagy akár több fájlból
      • Üres helyeket

Törlési bit használatával nem kell a fájlt nagyban módosítani (egyenlőre)

DB2 innentől feltételezni fogja, hogy a rekordok hossza állandó