Sommario: in questo tutorial, imparerai vari motori di archiviazione di MySQL o tipi di tabella. È essenziale capire le caratteristiche di ogni motore di archiviazione in MySQL in modo da poterli usare efficacemente per massimizzare le prestazioni dei tuoi database.
MySQL fornisce vari motori di archiviazione per le sue tabelle come segue:
- MyISAM
- InnoDB
- MERGE
- MEMORIA (HEAP)
- ARCHIVE
- CSV
- FEDERATED
Ogni motore di archiviazione ha i suoi vantaggi e svantaggi. È fondamentale capire le caratteristiche di ogni motore di archiviazione e scegliere quello più appropriato per le vostre tabelle per massimizzare le prestazioni del database. Nelle sezioni seguenti, discuteremo ogni motore di archiviazione e le sue caratteristiche in modo da poter decidere quale usare.
MyISAM
MyISAM estende il precedente motore di archiviazione ISAM. Le tabelle MyISAM sono ottimizzate per la compressione e la velocità. Le tabelle MyISAM sono anche portabili tra piattaforme e sistemi operativi.
La dimensione della tabella MyISAM può essere fino a 256TB, che è enorme. Inoltre, le tabelle MyISAM possono essere compresse in tabelle di sola lettura per risparmiare spazio. All’avvio, MySQL controlla le tabelle MyISAM per la corruzione e le ripara anche in caso di errori. Le tabelle MyISAM non sono transaction-safe.
Prima della versione 5.5 di MySQL, MyISAM è il motore di archiviazione predefinito quando si crea una tabella senza specificare esplicitamente il motore di archiviazione. Dalla versione 5.5, MySQL usa InnoDB come motore di archiviazione predefinito.
InnoDB
Le tabelle InnoDB supportano pienamente ACID-compliant e le transazioni. Sono anche ottimali per le prestazioni. La tabella InnoDB supporta le chiavi esterne, le operazioni di commit, rollback, roll-forward. La dimensione di una tabella InnoDB può essere fino a 64TB.
Come MyISAM, le tabelle InnoDB sono portatili tra diverse piattaforme e sistemi operativi. MySQL controlla e ripara anche le tabelle InnoDB, se necessario, all’avvio.
MERGE
Una tabella MERGE è una tabella virtuale che combina più tabelle MyISAM che hanno una struttura simile a una tabella. Il motore di archiviazione MERGE è anche conosciuto come motore MRG_MyISAM
. La tabella MERGE
non ha i propri indici; usa invece gli indici delle tabelle componenti.
Utilizzando la tabella MERGE, puoi accelerare le prestazioni quando unisci più tabelle. MySQL permette solo di eseguire operazioni SELECT, DELETE, UPDATE e INSERT sulle tabelle MERGE
. Se usi l’istruzione DROP TABLE
su una tabella MERGE
, solo la specifica MERGE
viene rimossa. Le tabelle sottostanti non saranno influenzate.
Memory
Le tabelle di memoria sono memorizzate in memoria e usano indici hash in modo che siano più veloci delle tabelle MyISAM. La durata dei dati delle tabelle di memoria dipende dall’uptime del server di database. Il motore di archiviazione in memoria è precedentemente conosciuto come HEAP.
Archivio
Il motore di archiviazione in archivio permette di memorizzare un gran numero di record, che a scopo di archiviazione, in un formato compresso per risparmiare spazio su disco. Il motore di archiviazione dell’archivio comprime un record quando viene inserito e lo decomprime usando la libreria zlib quando viene letto.
Le tabelle di archivio permettono solo istruzioni INSERT e SELECT. Le tabelle ARCHIVE
non supportano indici, quindi è richiesta una scansione completa della tabella per leggere le righe.
CSV
Il motore di archiviazione CSV memorizza i dati in formato file CSV (comma-separated values). Una tabella CSV porta un modo conveniente per migrare i dati in applicazioni non-SQL come software per fogli di calcolo.
La tabella CSV non supporta il tipo di dati NULL. Inoltre, l’operazione di lettura richiede una scansione completa della tabella.
FEDERATA
Il motore di archiviazione FEDERATED
consente di gestire i dati da un server MySQL remoto senza utilizzare la tecnologia di cluster o di replica. La tabella locale federata non memorizza dati. Quando interroghi i dati da una tabella federata locale, i dati vengono estratti automaticamente dalle tabelle federate remote.
Scegliere i tipi di tabella MySQL
Puoi scaricare la seguente lista di controllo per scegliere il motore di archiviazione, o tipo di tabella, più appropriato in base a vari criteri.
Riassunto delle caratteristiche dei motori di archiviazione MySQL
In questo tutorial, hai imparato vari motori di archiviazione o tipi di tabelle disponibili in MySQL.
- Questo tutorial è stato utile?
- SìNo