Résumé : dans ce tutoriel, vous allez apprendre les différents moteurs de stockage ou types de table MySQL. Il est essentiel de comprendre les caractéristiques de chaque moteur de stockage de MySQL afin de pouvoir les utiliser efficacement pour maximiser les performances de vos bases de données.
MySQL fournit différents moteurs de stockage pour ses tables comme suit :
- MyISAM
- InnoDB
- MERGE
- MEMOIRE (HEAP)
- ARCHIVE
- CSV
- FEDERATED
Chaque moteur de stockage a ses propres avantages et inconvénients. Il est crucial de comprendre les caractéristiques de chaque moteur de stockage et de choisir le plus approprié pour vos tables afin de maximiser les performances de la base de données. Dans les sections suivantes, nous allons discuter de chaque moteur de stockage et de ses caractéristiques afin que vous puissiez décider lequel utiliser.
MyISAM
MyISAM étend l’ancien moteur de stockage ISAM. Les tables MyISAM sont optimisées pour la compression et la vitesse. Les tables MyISAM sont également portables entre les plateformes et les systèmes d’exploitation.
La taille de la table MyISAM peut atteindre 256 To, ce qui est énorme. De plus, les tables MyISAM peuvent être compressées en tables en lecture seule pour gagner de l’espace. Au démarrage, MySQL vérifie l’absence de corruption des tables MyISAM et les répare même en cas d’erreur. Les tables MyISAM ne sont pas transaction-safe.
Avant la version 5.5 de MySQL, MyISAM est le moteur de stockage par défaut lorsque vous créez une table sans spécifier explicitement le moteur de stockage. À partir de la version 5.5, MySQL utilise InnoDB comme moteur de stockage par défaut.
InnoDB
Les tables InnoDB prennent entièrement en charge la compatibilité ACID et les transactions. Elles sont également optimales en termes de performances. La table InnoDB supporte les clés étrangères, les opérations de commit, rollback, roll-forward. La taille d’une table InnoDB peut atteindre 64 To.
Comme MyISAM, les tables InnoDB sont portables entre différentes plateformes et systèmes d’exploitation. MySQL vérifie et répare également les tables InnoDB, si nécessaire, au démarrage.
MERGE
Une table MERGE est une table virtuelle qui combine plusieurs tables MyISAM qui ont une structure similaire à une seule table. Le moteur de stockage MERGE est également connu sous le nom de moteur MRG_MyISAM
. La table MERGE
ne possède pas ses propres index ; elle utilise plutôt les index des tables composantes.
En utilisant la table MERGE, vous pouvez accélérer les performances lors de la jonction de plusieurs tables. MySQL vous permet uniquement d’effectuer des opérations SELECT, DELETE, UPDATE et INSERT sur les tables MERGE
. Si vous utilisez l’instruction DROP TABLE
sur une table MERGE
, seule la spécification MERGE
est supprimée. Les tables sous-jacentes ne seront pas affectées.
Mémoire
Les tables de mémoire sont stockées en mémoire et utilisent des index de hachage de sorte qu’elles sont plus rapides que les tables MyISAM. La durée de vie des données des tables mémoire dépend de la disponibilité du serveur de base de données. Le moteur de stockage en mémoire est anciennement connu sous le nom de HEAP.
Archive
Le moteur de stockage en archive vous permet de stocker un grand nombre d’enregistrements, qui à des fins d’archivage, dans un format compressé pour économiser de l’espace disque. Le moteur de stockage d’archives compresse un enregistrement lorsqu’il est inséré et le décompresse à l’aide de la bibliothèque zlib lorsqu’il est lu.
Les tables d’archives n’autorisent que les instructions INSERT et SELECT. Les tables ARCHIVE
ne supportent pas les index, il est donc nécessaire d’effectuer un balayage complet de la table pour lire les lignes.
CSV
Le moteur de stockage CSV stocke les données au format de fichier CSV (comma-separated values). Une table CSV apporte un moyen pratique de migrer les données dans des applications non-SQL telles que les logiciels de tableur.
La table CSV ne prend pas en charge le type de données NULL. En outre, l’opération de lecture nécessite un balayage complet de la table.
FEDERATED
Le moteur de stockage FEDERATED
vous permet de gérer les données d’un serveur MySQL distant sans utiliser la technologie de cluster ou de réplication. La table fédérée locale ne stocke aucune donnée. Lorsque vous interrogez des données à partir d’une table fédérée locale, les données sont tirées automatiquement des tables fédérées distantes.
Choisir les types de table MySQL
Vous pouvez télécharger la liste de contrôle suivante pour choisir le moteur de stockage, ou le type de table, le plus approprié en fonction de différents critères.
Résumé des fonctionnalités des moteurs de stockage MySQL
Dans ce tutoriel, vous avez appris les différents moteurs de stockage ou types de table disponibles dans MySQL.
- Ce tutoriel vous a-t-il été utile ?
- OuiNon
.