Een van de belangrijkste redenen waarom grote en grootschalige WordPress sites trager worden is omdat hun database niet geoptimaliseerd is. Veel oudere sites gebruiken nog steeds de MyISAM storage engine in hun database. De laatste jaren is gebleken dat InnoDB beter presteert en betrouwbaarder is. Een grote reden om InnoDB te verkiezen boven MyISAM, is het ontbreken van full table-level locking. Hierdoor kunnen je query’s sneller verwerkt worden.

InnoDB vs MyISAM

Hier zijn een paar van de belangrijkste verschillen tussen InnoDB en MyISAM:

  • InnoDB heeft row-level locking. MyISAM heeft alleen full table-level locking.
  • InnoDB heeft wat referential integrity wordt genoemd, wat inhoudt dat foreign keys (RDBMS) en relatiebeperkingen worden ondersteund. MyISAM heeft dit niet (DMBS).
  • InnoDB ondersteunt transacties, wat betekent dat je dingen kunt vastleggen en terugdraaien. MyISAM doet dat niet.
  • InnoDB is betrouwbaarder omdat het transactionele logs gebruikt voor automatisch herstel. MyISAM doet dat niet.

Gebruik je MyISAM of InnoDB?

Als je op een vrij nieuwe WordPress site draait is de kans groot dat je al de InnoDB MySQL storage engine gebruikt. Maar bij oudere WordPress sites wil je dat misschien even controleren. Sommige sites hebben misschien zelfs een mix van MyISAM en InnoDB tabellen, waarbij je verbeteringen zou kunnen zien door ze allemaal om te zetten. Volg deze eenvoudige stappen hieronder om dit te controleren.

Stap 1

Log in op phpMyAdmin en klik verder naar je mySQL database.

Stap 2

Doe een snelle scan of sorteer de kolom “Type” en je kunt zien welke Storage Engine types je tabellen gebruiken. In dit voorbeeld hieronder zie je dat twee van de tabellen nog steeds MyISAM gebruiken.

MyISAM tabellen vinden
MyISAM tabellen vinden

Je kunt ook een query uitvoeren om te zien of er MyISAM tabellen bestaan. Vervang ‘database’ door de naam van je database.

SELECT TABLE_NAME,
 ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'database' and ENGINE = 'myISAM'

MyISAM omzetten naar InnoDB met phpMyAdmin

Je kunt MyISAM vrij eenvoudig omzetten naar InnoDB. Dit voorbeeld hieronder gebruikt de tabel wp_comments. Voer simpelweg  het ALTER commando uit om het om te zetten naar de InnoDB storage engine. Opmerking: We raden altijd aan een backup te maken van je MySQL database voordat je er bewerkingen op uitvoert.

ALTER TABLE wp_comments ENGINE=InnoDB;
Zorg ervoor dat je MySQL 5.6.4 of hoger draait, anders kun je tegen problemen aanlopen waar full-text indexering nog niet wordt ondersteund door InnoDB. Als je een Kinsta klant bent hoef je je hierover geen zorgen te maken.

Als alternatief kun je ze ook handmatig omzetten met phpMyAdmin. Klik gewoon op de myISAM tabel, klik in de “Operations” tab, en verander de storage engine.

Zet myisam tabel om naar innodb phpmyadmin
MyISAM omzetten naar InnoDB

MyISAM omzetten naar InnoDB met WP-CLI

WP-CLI is een commandoregeltool voor developers om veel voorkomende taken (en minder voorkomende) van een WordPress installatie te beheren. Bekijk dit artikel over hoe je MyISAM omzet naar InnoDB met WP-CLI.