Database-engines (MySQL)

Uit De Vliegende Brigade
Ga naar: navigatie, zoeken

In MySQL kun je verschillende zogenaamde engines oftewel storage engines gebruiken voor opslaan en bewerken van databases en tabellen, waarvan InnoDB en MyISAM de bekendste zijn:

  • Archive
  • Blackhole
  • CSV
  • Example
  • Federated
  • InnoDB
  • Merge
  • Memory
  • NDB (aka. NDBCluster)
  • MyISAM.

Een engine is overigens niet hetzelfde als een bestandsformaat. InnoDB kent bv. verschillende bestandsformaten, waaronder Antilope en Barracuda. Rond 2015 heb ik Barracuda gebruikt omdat je dan meer velden in een tabel kunt defineren: Sommige feeds hadden blijkbaar meer velden dan ik in Antilope kwijt kon Row size error (MySQL).

Engine achterhalen

Per tabel kun je een andere engine gebruiken. Eén van de manieren om de gebruikte engine te achterhalen: Klik in MySQL Workbench in het linkerscherm met de rechtermuistoets op de naam van een tabel en kies Table inspector.

MySQL Workbench: Table Inspector. Deze WordPress-site gebruikt InnoDB

InnoDB vs. MyISAM

Deze twee engines zijn amper te vergelijken [1]:

  • InnoDB is een 'echte' engine, want het ondersteunt referentiële integriteit, cascaded deletion & -update en transactions
  • MyISAM ondersteunt geen van deze zaken. Het is basically geen db-engine. Het is een storage-engine dat toevallig met SQL overweg kan.

Conclusie: Het zou heel gek zijn als je MyISAM gebruikt en niet InnoDB.

Zie ook

Bronnen