MyISAM est le type par défaut de table en MySQL version 3.23. Il est basé sur ISAM et ajoute de nombreuses extensions pratiques.
Chaque table MyISAM est stockée en trois fichiers. Les fichiers portent le nom de la table, et ont une extension qui spécifie le type de fichier. Le fichier .frm stocke la définition de la table. L'index est stocké dans un fichier avec l'extension .MYI (MYIndex), et les données sont stockées dans un fichier avec l'extension .MYD (MYData).
Remarque :
Le moteur de table originale de MySQL est le moteur ISAM. Il a été le seul moteur disponible jusqu'en MySQL 3.23, lorsque la version améliorée (MyISAM) a été inventée. ISAM est maintenant obsolète. Depuis MySQL 4.1, il est inclus dans le source, mais pas activé dans les versions binaires. Il disparaîtra en MySQL 5.0. Les versions embarquées de MySQL ne supportent pas les tables ISAM par défaut.
Etant donné l'obsolescence de ISAM, et comme MyISAM est une version améliorée de ISAM, il est recommandé de convertir les tables ISAM en MySAM dès que possible. Pour convertir une table ISAM en MyISAM, utilisez la commande ALTER TABLE :
à ALTER TABLE tbl_name TYPE = MYISAM;
1.1.1.2Heap
Le moteur de stockage MEMORY crée des tables dont le contenu est stocké en mémoire. Avant MySQL 4.1, les tables MEMORY étaient appelées des tables HEAP. Depuis 4.1, HEAP est un synonyme de MEMORY, et MEMORY est le terme recommandé. Chaque table MEMORY est associée à un fichier sur le disque. Le fichier a le nom de la table, et pour extension .frm pour indiquer la définition de la table.
1.1.1.3Merge
Les tables MERGE ont été ajoutée en MySQL version 3.23.25. Ce type de table est aussi connu sous le nom de MRG_MyISAM. Le code raisonnablement stable.
Une table MERGE est un groupe de tables MyISAM identiques qui sont utilisées comme une seule. Identique'' signifie que toutes les tables ont la même structure de colonnes et d'index.
Lorsque vous créez une table MERGE, MySQL crée deux fichiers sur le disque. Les fichiers ont pour nom celui de la table, et ont un extension qui indique le type de fichiers. Le fichier .frm stocke la définition de la table, et le fichier .MRG contient les noms des tables qui doivent être utilisées. Originalement, toutes les tables utilisées dans la même table MERGE devaient être dans la même base que la table MERGE . Cette restriction a été levée en MySQL 4.1.1.
Pour le moment, vous avez simplement besoin des droits de SELECT, UPDATE et DELETE sur les tables que vous avez rassemblé dans la table MERGE.
Les inconvénients des tables de type MERGE sont :
·Vous devez utiliser des tables MyISAM identiques pour faire une table MERGE.
·MERGE utilise plus de pointeurs de fichiers. Si vous utilisez une table MERGE qui couvre 10 tables et que 10 utilisateurs l'utilisent, vous consommez 10*10 + 10 pointeurs de fichiers (10 fichiers de données, et 10 utilisateurs avec 10 fichiers d'index).
·Les lectures de clés sont plus lentes.
1.1.1.4InnoDB
Techniquement, InnoDB est un gestionnaire de table placé sous MySQL. InnoDB dispose de son propre buffer pour mettre en cache les données et les index en mémoire centrale. InnoDB stocke les tables et index dans un espace de table, qui peut être réparti dans plusieurs fichiers. Ceci diffère des tables comme, par exemple, MyISAM où chaque table est stockée dans un fichier différent. Les tables InnoDB peuvent prendre n'importe quelle taille, même sur les systèmes d'exploitation dont la limite est de 2 Go par fichier.