Uno dei principali motivi per cui i siti WordPress di grandi dimensioni rallentano è perché il loro database non è stato ottimizzato. Molti siti meno recenti utilizzano ancora il motore di archiviazione MyISAM nel loro database. Negli ultimi anni, InnoDB ha dimostrato di avere prestazioni superiori e di essere più affidabile. Un ottimo motivo per utilizzare InnoDB al posto di MyISAM è la mancanza di un blocco completo a livello di tabella. Ciò consente alle vostre query di avere tempi più rapidi di elaborazione.

InnoDB verso MyISAM

Ecco alcune delle principali differenze tra InnoDB e MyISAM:

State utilizzando MyISAM o InnoDB?

Se state utilizzando un sito WordPress abbastanza nuovo, è probabile che stiate già utilizzando il motore di archiviazione MySQL di InnoDB. Ma con i vecchi siti WordPress potreste fare un rapido controllo. Alcuni siti potrebbero anche avere tabelle MyISAM e InnoDB miste e abbinate. In questi siti potreste vedere dei miglioramenti convertendole tutte. Seguite questi semplici passaggi per effettuare un controllo.

Passo 1

Accedete a phpMyAdmin e fate clic sul vostro database mySQL.

Passo 2

Eseguite una scansione veloce o ordinate in base alla colonna “Tipo” per vedere quale tipo di motore di archiviazione utilizzano le vostre tabelle. Nell’esempio qui sotto potete vedere che due tabelle stanno ancora utilizzando MyISAM.

ricerca tabelle myisam

In alternativa, potete eseguire una query per verificare se esistono tabelle myISAM. Sostituite “database” con il nome del vostro database.

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

Convertire MyISAM in InnoDB con phpMyAdmin

Potete convertire MyISAM in InnoDB abbastanza facilmente. Nell’esempio che segue è utilizzato nella tabella wp_comments. Basta eseguire il comando ALTER per convertire il motore di archiviazione in InnoDB. Nota: consigliamo sempre di eseguire il backup del database MySQL prima di eseguire qualsiasi operazione su di esso.

ALTER TABLE wp_comments ENGINE=InnoDB;
Assicuratevi di utilizzare MySQL 5.6.4 o versioni successive, altrimenti potreste incorrere in problemi dovuti al mancato supporto dell’indicizzazione full-text da parte InnoDB. Se siete clienti Kinsta, non dovete preoccuparti di questo.

In alternativa, potete anche convertire le tabelle manualmente con phpMyAdmin. Basta fare clic sulla tabella myISAM, poi sulla scheda “Operazioni”, e modificare il motore di archiviazione.

convertire una tabella myisam in innodb in phpmyadmin

Convertire MyISAM in InnoDB con WP-CLI

WP-CLI è un tool da linea di comando che consente agli sviluppatori di gestire attività comuni (e non tanto comuni) di un’installazione di WordPress. Dai un’occhiata a questo articolo in cui si spiega come convertire MyISAM in InnoDB con WP-CLI .


Se ti è piaciuto questo tutorial, allora apprezzerai molto il nostro supporto. Tutti i piani di hosting di Kinsta includono supporto 24/7 da parte dei nostri sviluppatori e tecnici veterani di WordPress. Chatta con lo stesso team che supporta i nostri clienti Fortune 500. Scopri i nostri piani