Centro Assistenza di Register.it

Come passare una tabella da MyISAM a InnoDB

I database MySQL offrono due motori diversi di memorizzazione dei dati nelle tabelle: MyISAM e InnoDB. In realtà ci sono anche altri tipi di engine, ma questi due sono i più usati in assoluto. MyISAM è quello più classico: è stato il motore di default per tutte le versioni MySQL precedenti alla 5.5 ed è adatto alla maggior parte delle applicazioni perché più leggero e meno "esigente". WordPress ad esempio crea tabelle con MyISAM come default. È possibile però che ad un certo punto si abbia bisogno di cambiare una tabella da MyISAM a InnoDB.

Quest'ultimo motore di memorizzazione è usato principalmente in applicazioni dove l'integrità dei dati è importantissima (ha infatti vincoli più stringenti sulla data integrity) oppure dove ci sono molte INSERT o UPDATE, dato che InnoDB fa lock sulla riga e non sulla tabella intera, evitando di lasciare delle SELECT appese durante le update. Per cambiare il motore di memorizzazione da MyISAM a InnoDB si può usare il phpMyAdmin ed eseguire l'operazione con due semplici click. Ricordiamoci che la conversione potrebbe richiedere molto tempo in caso di tabella con molti dati dentro.
IMPORTANTE
Questa guida è applicabile solo per gli Hosting Linux acquistati entro il mese di Maggio del 2015. Se hai acquistato il nuovo Hosting Linux cPanel a partire da Giugno del 2015 in poi leggi le guide dedicate all'Hosting Linux cPanel.
Nel pannello di controllo dell'Hosting, nella sezione "Gestione MySQL", clicchiamo sul link "Amministra" del database sul quale vogliamo lavorare. gestionemysqlinnodb

Sulla pagina di login di phpMyAdmin, selezioniamo l'host MySQL (nell'esempio hostingmysql257.register.it), inseriamo username e password. Entreremo così nell'interfaccia di amministrazione phpMyAdmin del database. Scegliamo poi la tabella della quale vogliamo cambiare il formato e clicchiamo sull'icona "Struttura" di quella tabella. selezionetabellainnodb

Clicchiamo poi sulla Tab "Operazioni" e cambiamo il motore di memorizzazione della tabella da MyISAM a InnoDB. Clicchiamo su "Esegui" per salvare. cambiomotorememorizzazionetabella-1024x525

Per dovere di cronaca, quello che alla fine esegue l'interfaccia è una semplice query
ALTER TABLE `<table name>` ENGINE = InnoDB;

Questo articolo è stato utile?

Non hai trovato quello che cerchi?

Contatta i nostri esperti, sono a tua disposizione.

Contattaci