Kategórie článkov

MySQL: MyISAM alebo InnoDB?

V databáze MySQL sa môžete rozhodnúť medzi viacerými výkonnými motormi, ktoré budú poháňať vaše tabuľky. V tomto článku si ukážeme rozdiel medzi MyISAMInnoDB. Na kurze MySQL sa ma ľudia často pýtajú, či je lepšie, tak prosím.

MyISAM

MyISAM je základný typ tabuľky. Je rýchlejší vo vyhľadávaní a vkladaní oproti InnoDB. Je lepší na indexovania a podporuje aj indexy typu text a blob. Umožňuje fulltextové vyhľadávanie. Je prenositeľný medzi rôznymi operačnými systémami. Má maximálne 64 kľúčov.

Žiaľ, nepodporuje transakcie a cudzie kľúče. Operačný systém stanovuje limity na veľkosť tabuľky.

Pre každú tabuľku tento motor vytvára tri súbory: frm (formátovací súbor), myd (údaje), a myi (informácie o kľúčoch a obsahoch).

InnoDB

InnoDB je dostupný od MySQL verzie 4.0. Je druhý najpoužívanejší typ tabuľky. Podporuje transakcie. Používatelia techniku zamykania údajov na úrovni riadkov. Hodí sa pre prostredia, kde je vysoký podiel dotazov, ktoré menia údaje. Podporuje aj cudzie kľúče.

Žiaľ, v tomto motore nemôžete vykonávať full-textové vyhľadávania. Zaberá viac miesta ako MyISAM.

Čo odporúčam?

Osobne preferujem skôr MyISAM, kvôli jednoduchšej správe jednotlivých databáz na úrovni súborového systému.

 

Marián Knězek

Súvisiace články: