sql >> Database >  >> RDS >> Mysql

Wanneer MyISAM en InnoDB gebruiken?

Lees over Opslag-engines .

MijnISAM:

De MijnISAM opslagengine in MySQL.

  • Eenvoudiger te ontwerpen en te maken, dus beter voor beginners. Geen zorgen over de buitenlandse relaties tussen tabellen.
  • Sneller dan InnoDB in het algemeen als gevolg van de eenvoudigere structuur en dus veel minder kosten van serverbronnen. -- Meestal niet meer waar.
  • Indexering van volledige tekst. -- InnoDB heeft het nu
  • Vooral goed voor leesintensieve (selecteer) tabellen. -- Meestal niet meer waar.
  • De schijfvoetafdruk is 2x-3x kleiner dan die van InnoDB. -- Vanaf versie 5.7 is dit misschien wel het enige echte voordeel van MyISAM.

InnoDB:

De InnoDB opslagengine in MySQL.

  • Ondersteuning voor transacties (geeft u ondersteuning voor de ACID eigendom).
  • Vergrendeling op rijniveau. Een fijnmaziger vergrendelingsmechanisme geeft u een hogere gelijktijdigheid in vergelijking met bijvoorbeeld MijnISAM .
  • Buitenlandse belangrijke beperkingen. Hiermee kunt u de database de integriteit van de status van de database en de relaties tussen tabellen laten waarborgen.
  • InnoDB is beter bestand tegen corruptie van tabellen dan MyISAM.
  • Ondersteuning voor grote bufferpool voor zowel gegevens als indexen. MyISAM-sleutelbuffer is alleen voor indexen.
  • MijnISAM stagneert; alle toekomstige verbeteringen zullen in InnoDB zijn. Dit werd overduidelijk gemaakt met de uitrol van versie 8.0.

MijnISAM-beperkingen:

  • Geen externe sleutels en trapsgewijze verwijderingen/updates
  • Geen transactie-integriteit (ACID-compliance)
  • Geen terugdraaimogelijkheden
  • 4.284.867.296 rijlimiet (2^32) -- Dit is de oude standaard . De configureerbare limiet (voor veel versies) was 2**56 bytes.
  • Maximaal 64 indexen per tabel

InnoDB-beperkingen:

  • Geen indexering van volledige tekst (Below-5.6 mysql-versie)
  • Kan niet worden gecomprimeerd voor snel, alleen-lezen (5.5.14 geïntroduceerd ROW_FORMAT=COMPRESSED )
  • U kunt een InnoDB-tabel niet repareren

Lees de onderstaande links voor een kort begrip:

  1. MySQL-engines:InnoDB versus MyISAM – een vergelijking van voor- en nadelen
  2. MySQL-engines:MyISAM versus InnoDB
  3. Wat zijn de belangrijkste verschillen tussen InnoDB en MyISAM?
  4. MijnISAM versus InnoDB
  5. Wat is het verschil tussen MyISAM en InnoDB?
  6. MySql:MyISAM vs. Inno DB!


  1. MariaDB JSON_ARRAY_APPEND() uitgelegd

  2. Patronen matchen:meer plezier toen ik een kind was

  3. SQL Server Een trigger om aan meerdere rij-invoegingen te werken

  4. Een tabel neerzetten in SQL