MySQL - Les moteurs de stockage

Septembre 2016


La base de données MySQL présente une particularité par rapport aux bases de données présentent dans le marché. Cette spécificité réside dans la possibilité d'associer à chaque table un moteur de stockage assurant des fonctionnalités telle que les transactions, l'indexation, les algorithmes.

Par défaut, le moteur de recherche disponible est MyISAM. Ce moteur ne risque pas d'être supprimer par le DBA. Par contre, le DBA pourra ajouter un moteur de stockage à l'aide de commande « Install plugin StockageName ». la commande « Uninstall Plugin » permet de supprimer le même moteur.

MyISAM est basé sur ISAM mais il ne supporte pas les transactions. La commande suivante permet de spécifier exlicitement la création d'une table MyIsam. Par défaut en mySQL, le type par défaut des tables est MyIsam
CREATE TABLE t (i INT) ENGINE = MYISAM;


L'InnoDB est l'un des principaux moteurs de stockage et est le moteur le plus utilisé. Il est le leader des moteurs de stockages transactionnel. InnoDB intègre plusieurs fonctionnalités comme la réplication, les procédures stockées, les triggers et les vues.
La commande suivante permet de créer une table au format InnoDB :
CREATE TABLE TableName (Field1 Int, Field2 Int) TYPE = InnoDB;


Si vous avez besoin de stocker temporairement des données, le moteur Memory peut être utilisé. Les données d'une table Memory sont stockées dans la mémoire. En cas de clash ou redémarrage du serveur, les données seront perdues.
La commande suivante permet de créer une table au format Memory :
CREATE TABLE TableName (Field1 Int, Field2 Int) ENGINE = MEMORY;


Dans le cas où votre besoin est de gérer plusieurs tables historiques identiques ou bien de répartir une grande table, en lecture seul dans différents endroits du disque. L'utilisation d'une table Merge est fortement conseillée.


Si vous avez besoin d'optimiser le stockage des informations, il faudra utiliser le moteur Archive. Attention, avec ce moteur, il est impossible de mettre à jour la table en ligne. Si vous êtes intéressé par ce moteur, lors de la configuration de la compilation de MySQL, l'option suivante permet d'activer le moteur
--with-archive-storage-engine

A voir également :

Ce document intitulé «  MySQL - Les moteurs de stockage  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.