Condividi
Differenza tra tabelle MyISAM e InnoDB, qual'è più veloce?
Quali sono le principali differenze tra il tipo di tabella MyISAM ed InnoDB in un database MySql o MariaDB? Qual'è più veloce? E perché dovrei scegliere una piuttosto che l'altra, quali sono i vantaggi di una rispetto all'altra tabella?
In Corso
3
MySql
24-08-2024
2 Risposte
133 Visite
+1
Risposte ( 2 approvate )
Nella progettazione di un database relazionale è importante conoscere e scegliere anche la tipologia di tabella che andrà a contenere e gestire i nostri dati.
Se parliano di MySql e MariaDB i tipi di tabelle più usate sono MyISAM ed InnoDB, la prima è la tipologia di tabella di default quando si crea una nuova tabella.
Sorge allora spontanea la domanda "quali sono le principali differenze tra tabelle MyISAM ed InnoDB?"
Scegliere una piuttosto che l'altra, determina come le tabelle gestiranno i records al loro interno e le relazioni tra le tabelle stesse, nonché aspetti anche legati alla sicurezza e performance. Riassumendo elenchiamo le principali differenze tra MyISAM vs InnoDB:
Infine rispondiamo anche alla domanda:
Qual'è più veloce una tabella MyISAM o InnoDB?
Le tabelle MyISAM sono in genere più veloci delle InnoDB.
E' vero che le tabelle MyIsam in generale sono più veloci di quelle InnoDB, ma la scelta di una tipologia di tabella piuttosto che di un'altra, deve essere determinata dal tipo di applicativo da andare a realizzare, il quale comporterà conseguentemente la mole di dati, la loro gestione ed interrogazione sul database; e sulla base di questo che si deve scegliere l'una piuttosto che l'altra per buttare le fondamenta di una buona progettazione del database.
Nel caso di un applicativo bancario ad es., sarebbe difficile immaginare di progettarne il database senza le transazioni COMMIT o ROLLBACK, piuttosto che avere blocchi a livello di tabella senza che vi si possa accedere se prima non termina l'istruzione e la tabella venga rilasciata.
Sia MyIsam che InnoDb offrono vantaggi e svantaggi, e ripeto la scelta è di tipo progettuale. In genere possiamo affermare che le tabelle MyIsam sono di tipo 'statico' (ecco perché più veloci), e risultano la scelta ideale e decisamente più performanti per db di piccole dimensioni dove vengono eseguite per lo più query interrogative come la SELECT e poche DML (INSERT ed UPDATE) sui dati. Mentre la scelta di tabelle di tipo InnoDB è quasi obbligatoria quando dobbiamo gestire una grande mole di dati (big data) con interrogazioni ed update SQL molto frequenti, in questo caso la InnoDB nasce proprio per soddisfare questi tipi di performance, e risulta anche più stabile ed affidabile con minore probabilità che la tabella si corrompa rispetto ad un'analoga Myisam.