Leggi i Motori di archiviazione .
Il mioISAM:
Il MyISAM motore di archiviazione in MySQL.
- Più semplice da progettare e creare, quindi migliore per i principianti. Nessuna preoccupazione per le relazioni estere tra i tavoli.
- Più veloce di InnoDB nel complesso grazie alla struttura più semplice, quindi molto meno costi delle risorse del server. -- Per lo più non è più vero.
- Indicizzazione full-text. -- InnoDB ce l'ha ora
- Particolarmente adatto per tabelle (selezionate) ad alta intensità di lettura. -- Per lo più non è più vero.
- L'ingombro del disco è 2x-3x inferiore a quello di InnoDB. -- A partire dalla versione 5.7, questo è forse l'unico vero vantaggio di MyISAM.
InnoDB:
InnoDB motore di archiviazione in MySQL.
- Supporto per le transazioni (che fornisce supporto per ACID proprietà).
- Blocco a livello di riga. Avere un meccanismo di bloccaggio a grana più fine offre una maggiore concorrenza rispetto, ad esempio, a MyISAM .
- Limiti di chiave straniera. Consentendo al database di garantire l'integrità dello stato del database e le relazioni tra le tabelle.
- InnoDB è più resistente alla corruzione delle tabelle rispetto a MyISAM.
- Supporto per pool di buffer di grandi dimensioni sia per i dati che per gli indici. Il buffer delle chiavi MyISAM è solo per gli indici.
- MyISAM è stagnante; tutti i miglioramenti futuri saranno in InnoDB. Questo è stato ampiamente chiarito con il lancio della versione 8.0.
Limiti MyISAM:
- Nessuna chiave esterna e cancellazioni/aggiornamenti a cascata
- Nessuna integrità transazionale (conformità ACID)
- Nessuna capacità di ripristino
- 4.284.867.296 limite di righe (2^32) -- Questo è vecchio predefinito . Il limite configurabile (per molte versioni) è stato di 2**56 byte.
- Massimo 64 indici per tabella
Limitazioni InnoDB:
- Nessuna indicizzazione del testo completo (versione MySQL inferiore a 5.6)
- Non può essere compresso per una lettura veloce e di sola lettura (5.5.14 introdotto
ROW_FORMAT=COMPRESSED
) - Non puoi riparare una tabella InnoDB
Per una breve comprensione, leggi i link di seguito:
- Motori MySQL:InnoDB e MyISAM:un confronto tra pro e contro
- Motori MySQL:MyISAM vs. InnoDB
- Quali sono le principali differenze tra InnoDB e MyISAM?
- MyISAM contro InnoDB
- Qual è la differenza tra MyISAM e InnoDB?
- MySql:MyISAM vs. Inno DB!