Mysql - áttekintés típusú táblák

Szia, ma fogunk beszélni a típusú táblák a MySQL. MySQL architektúra lehetővé teszi, hogy kapcsolják össze a különböző motorok táblázatokat. Jelenleg MySQL támogatja számos különböző típusú táblák, amelyek mindegyike a maga előnyei és hátrányai. Sorolok, és röviden ismerteti a főbb táblázatok, majd kiad egy kis teljesítmény teszt leggyakrabban használt típusok - MyISAM és InnoDB.
Valamit, hogy milyen típusú támogatja a MySQL telepítés végrehajtása szükséges az alábbi SQL lekérdezést:
Az eredmény egy olyan táblázat, amely információkat tartalmaz, hogy milyen típusú táblák vannak telepítve a rendszer, és egy rövid leírást a képességeiket.
Federated MySQL tároló motor
MyISAM tároló motor
/ Dev / null tároló motor (bármit írsz eltűnik)
Gyűjtemény azonos MyISAM táblák
Hash alapú, a memóriában tárolt, hasznos ideiglenes táblák
Archív tároló motor
Támogatja a tranzakciókat, sor szintű zárolást, és idegen kulcs
Mi elsősorban a támasztó oszlop lesz érdekelt, amely támogatja a típusú táblázat adatai és be lehet állítani, hogy: NEM - nem támogatott, IGEN - támogatta az alapértelmezett alapértelmezett -használt. 5.5.5-es verziótól kezdődően az alapértelmezett típus van kiválasztva InnoDB, korábban a standard típus volt MyISAM.
A verzió támogatja a MySQL 5.5 9 különböző típusú táblák.
- InnoDB - motor, amely támogatja a tranzakciókat, kenőpénz és védelem adatvesztés ellen. Az ilyen típusú táblák alkalmazott rögzítési blokk szinten, és nem olvassa a blokkoló, és ezáltal javítja a teljesítményt, ha multiplayer mód. InnoDB tárolja a felhasználói adatokat fürtözött indexek, hogy kompenzálja az I / O egyszerű lekérdezések alapján elsődleges kulcsokat.
- MyISAM - motor MySQL táblák elsősorban web-alapú alkalmazások, adattárházak és egyéb szoftverek környezetben. Ez a táblázat típust támogatja az összes létesítmény a MySQL.
- Memória - tárolja az adatokat a memória nagyon egyszerű hozzáférést. Néven is ismert HEAP (kupac).
- Egyesítés - használt logikai csoportosítása azonos MyISAM táblák és vonzó számukra, mint egy tárgyat. Kiválóan alkalmas nagy adattárházak.
- Archív - a tökéletes megoldás tárolására nagy mennyiségű információt, amely nem igényel gyakori hozzáférést.
- Federated - lehetőséget, hogy összekapcsolják a különböző MySQL szerverek olyan logikai adatbázist több fizikai gépet. Ideális architektúrák, amelyek támogatják az elosztott adattárolás.
- CSV - tárolja a felhasználói adatokat egy szöveges fájlmegosztás értéket vesszőkkel. Használt, ha szüksége van egy egyszerű csere alkalmazás, amely képes exportálni / import adatok CSV formátumban.
- Blackhole - kap, de nem hozott eredményt. Az eredmények minden kérdését tárhelyek üres lesz a minta.
- Példa - a vizsgált motor nem hajt végre feladatokat, hogy hasznos lesz csak a fejlesztők, akik mennek, hogy írja meg a motort, példaként.
Összehasonlító táblázat a főbb típusú táblák
A maximális hangerő a tárolt adatok
Az indexek teljes szöveges keresés
Támogatás a fürtözött adatbázisok
Tesztelés InnoDB teljesítmény és MyIASM
A legnagyobb érdeklődés a web-fejlesztő, és InnoDB MyISAM. Most végezzen összehasonlító tesztet a teljesítmény ezen típusú táblák. Ehhez először hozzon létre két egyforma tábla szerkezetét, de más típusú tároló motor:
Írj egy kis scriptet, ami elvégzi 3 teszt: az adatrekord (betét), mintavétel a legfontosabb, nincs mintavételi kulcsfontosságú területen.
Annak érdekében, hogy a leendő vizsgálat elvégzéséhez, meg kell raskomentit egy megfelelő kód blokk. És valóban, ez az, amit kaptam eredményeként vizsgálata:
A mintavételt a legfontosabb
Mintavétele nincs kulcs mező
Ahogy meglátjuk MyISAM sokkal gyorsabb, különösen észrevehető, amikor behelyezi az adatokat. Bár InnoDB és számos olyan új szolgáltatásokat és előnyöket, mint a lassúság nem engedi meg neki, hogy a versenyt MyISAM, különösen a web-alkalmazásokat.