Összefoglaló: ebben a tananyagban a MySQL különböző tárolómotorjait vagy táblázattípusait ismerheti meg. Lényeges megérteni az egyes MySQL tárolómotorok jellemzőit, hogy hatékonyan használhassa őket az adatbázisok teljesítményének maximalizálása érdekében.
A MySQL különböző tárolómotorokat biztosít a tábláihoz az alábbiak szerint:
- MyISAM
- InnoDB
- MERGE
- MEMORY (HEAP)
- ARCHIVE
- CSV
- FEDERATED
Minden tárolómotornak megvannak a maga előnyei és hátrányai. Az adatbázis teljesítményének maximalizálása érdekében alapvető fontosságú, hogy megértsük az egyes tárolómotorok jellemzőit, és a tábláinkhoz a legmegfelelőbbet válasszuk ki. A következő szakaszokban az egyes tárolómotorokat és azok jellemzőit tárgyaljuk, hogy eldönthesse, melyiket használja.
MyISAM
A MyISAM a korábbi ISAM tárolómotort bővíti. A MyISAM táblák tömörítésre és sebességre vannak optimalizálva. A MyISAM táblák emellett hordozhatók a különböző platformok és operációs rendszerek között.
A MyISAM tábla mérete akár 256 TB is lehet, ami óriási. Ezenkívül a MyISAM táblák tömöríthetők csak olvasható táblákká, hogy helyet takarítsanak meg. Indításkor a MySQL ellenőrzi a MyISAM táblákat, hogy nem sérültek-e meg, és hiba esetén még javítja is azokat. A MyISAM táblák nem tranzakcióbiztosak.
A MySQL 5.5-ös verziója előtt a MyISAM az alapértelmezett tárolómotor, ha táblát hoz létre anélkül, hogy kifejezetten megadná a tárolómotort. Az 5.5-ös verziótól kezdve a MySQL az InnoDB-t használja alapértelmezett tárolómotorként.
InnoDB
Az InnoDB táblák teljes mértékben támogatják az ACID-kompatibilitást és a tranzakciókat. Teljesítmény szempontjából is optimálisak. Az InnoDB táblák támogatják az idegen kulcsokat, a commit, rollback, roll-forward műveleteket. Egy InnoDB tábla mérete akár 64 TB is lehet.
A MyISAM-hoz hasonlóan az InnoDB táblák is hordozhatók a különböző platformok és operációs rendszerek között. A MySQL az InnoDB táblákat indításkor is ellenőrzi és szükség esetén javítja.
MERGE
A MERGE tábla egy virtuális tábla, amely több, hasonló szerkezetű MyISAM táblát egyesít egy táblává. A MERGE tárolómotor MRG_MyISAM
motor néven is ismert. A MERGE
táblának nincsenek saját indexei, helyette az alkotó táblák indexeit használja.
A MERGE tábla használatával felgyorsíthatja a teljesítményt több tábla egyesítésekor. A MySQL csak a MERGE
táblákon végezhet SELECT, DELETE, UPDATE és INSERT műveleteket. Ha DROP TABLE
utasítást használ egy MERGE
táblán, csak a MERGE
specifikáció kerül eltávolításra. A mögöttes táblákat ez nem érinti.
Memória
A memóriában tárolt táblák memóriában tárolódnak, és hash indexeket használnak, így gyorsabbak, mint a MyISAM táblák. A memóriatáblák adatainak élettartama az adatbázis-kiszolgáló üzemidejétől függ. A memóriatároló motor korábban HEAP néven volt ismert.
Archive
Az archív tároló motor lehetővé teszi nagyszámú, archiválási célú rekord tömörített formátumban történő tárolását a lemezterület megtakarítása érdekében. Az archiváló tárolómotor a rekord beillesztésekor tömöríti a rekordot, olvasáskor pedig a zlib könyvtár segítségével dekomprimálja.
Az archiváló táblák csak INSERT és SELECT utasításokat engedélyeznek. A ARCHIVE
táblák nem támogatják az indexeket, ezért a sorok olvasásához teljes táblaszkennelésre van szükség.
CSV
A CSV tárolómotor az adatokat vesszővel elválasztott értékek (CSV) fájlformátumban tárolja. A CSV-tábla kényelmes módot kínál az adatok nem SQL-alkalmazásokba, például táblázatkezelő szoftverekbe történő átvitelére.
A CSV-tábla nem támogatja a NULL adattípust. Ráadásul az olvasási művelet teljes táblaszkennelést igényel.
FEDERATED
A FEDERATED
tárolómotor lehetővé teszi az adatok kezelését egy távoli MySQL-kiszolgálóról a fürt- vagy replikációs technológia használata nélkül. A helyi federated tábla nem tárol adatokat. Amikor adatokat kérdez le a helyi federated táblából, az adatok automatikusan a távoli federated táblákból kerülnek lehívásra.
MySQL-táblatípusok kiválasztása
Az alábbi ellenőrző listát letöltheti, hogy különböző kritériumok alapján kiválaszthassa a legmegfelelőbb tárolómotort, illetve táblatípust.
MySQL tárolómotorok jellemzőinek összefoglalása
Ezzel a bemutatóval megismerkedhetett a MySQL-ben elérhető különböző tárolómotorokkal vagy táblatípusokkal.
- Hasznos volt ez a bemutató?
- IgenNem