Přečtěte si o Storage Engines .
MyISAM:
MyISAM úložiště v MySQL.
- Jednodušší na navrhování a vytváření, tedy lepší pro začátečníky. Žádné starosti s cizími vztahy mezi tabulkami.
- Celkově rychlejší než InnoDB v důsledku jednodušší struktury, tedy mnohem nižších nákladů na zdroje serveru. -- Většinou už to není pravda.
- Fulltextové indexování. -- InnoDB to nyní má
- Obzvláště dobré pro (vybrané) tabulky náročné na čtení. -- Většinou už to není pravda.
- Působnost disku je 2x-3x menší než u InnoDB. -- Od verze 5.7 je to možná jediná skutečná výhoda MyISAM.
InnoDB:
InnoDB úložiště v MySQL.
- Podpora pro transakce (poskytuje vám podporu pro ACID majetek).
- Zamykání na úrovni řádků. Jemnější uzamykací mechanismus vám poskytuje vyšší souběžnost ve srovnání například s MyISAM .
- Zahraniční klíčová omezení. Umožňuje vám nechat databázi zajistit integritu stavu databáze a vztahů mezi tabulkami.
- InnoDB je odolnější vůči poškození tabulek než MyISAM.
- Podpora velkého fondu vyrovnávací paměti pro data i indexy. Klíčová vyrovnávací paměť MyISAM je určena pouze pro indexy.
- MyISAM stagnuje; všechna budoucí vylepšení budou v InnoDB. To bylo zcela jasné s uvedením verze 8.0.
Omezení MyISAM:
- Žádné cizí klíče a kaskádové mazání/aktualizace
- Žádná transakční integrita (shoda s ACID)
- Žádné možnosti vrácení zpět
- Limit 4 284 867 296 řádků (2^32) – Toto je staré výchozí . Nastavitelný limit (pro mnoho verzí) byl 2**56 bajtů.
- Maximálně 64 indexů na tabulku
Omezení InnoDB:
- Žádné fulltextové indexování (verze mysql nižší než 5.6)
- Nelze zkomprimovat pro rychlé a pouze pro čtení (zavedeno 5.5.14
ROW_FORMAT=COMPRESSED
) - Tabulku InnoDB nelze opravit
Pro krátké pochopení si přečtěte níže uvedené odkazy:
- MySQL Engines:InnoDB vs. MyISAM – srovnání kladů a záporů
- MySQL Engines:MyISAM vs. InnoDB
- Jaké jsou hlavní rozdíly mezi InnoDB a MyISAM?
- MyISAM versus InnoDB
- Jaký je rozdíl mezi MyISAM a InnoDB?
- MySql:MyISAM vs. Inno DB!