V databázi MySQL se můžete rozhodnout mezi více výkonnými motory, které budou pohánět vaše tabulky. V tomto článku si ukážeme rozdíl mezi MyISAM a InnoDB. Na kurzu MySQL se mě lidé často ptají, jestli je lepší, tak prosím.
MyISAM je základní typ tabulky. Je rychlejší ve vyhledávání a vkládání oproti InnoDB. Je lepší na indexování a podporuje také indexy typu text a blob. Umožňuje fulltextové vyhledávání. Je přenositelný mezi různými operačními systémy. Má maximálně 64 klíčů.
Bohužel nepodporuje transakce a cizí klíče. Operační systém stanoví limity na velikost tabulky.
Pro každou tabulku tento motor vytváří tři soubory: frm (formátovací soubor), myd (údaje), a myi (informace o klíčích a obsahech).
InnoDB je dostupný od MySQL verze 4.0. Je druhý nejpoužívanější typ tabulky. Podporuje transakce. Uživatelé techniku zamykání údajů na úrovni řádků. Hodí se pro prostředí, kde je vysoký podíl dotazů, které mění údaje. Podporuje také cizí klíče.
Žel, v tomto motoru nemůžete provádět full-textové vyhledávání. Zabírá více místa než MyISAM.
Osobně preferuji spíše MyISAM, kvůli jednodušší správě jednotlivých databází na úrovni souborového systému.