sql >> Databáze >  >> RDS >> Mysql

Kdy použít MyISAM a InnoDB?

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:

  1. MySQL Engines:InnoDB vs. MyISAM – srovnání kladů a záporů
  2. MySQL Engines:MyISAM vs. InnoDB
  3. Jaké jsou hlavní rozdíly mezi InnoDB a MyISAM?
  4. MyISAM versus InnoDB
  5. Jaký je rozdíl mezi MyISAM a InnoDB?
  6. MySql:MyISAM vs. Inno DB!


  1. Jak získat měsíc z data v MySQL

  2. Jak změnit tabulku na serveru SQL Server pomocí příkazu Alter - SQL Server / Výukový program T-SQL, část 35

  3. Jak odstranit soubory v SQL Server 2019

  4. Node.js se nemůže ověřit pro MySQL 8.0