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
:
mysql> ALTER TABLE tbl_name TYPE = MYISAM;
Pour plus d'informations sur MyISAM
, voyez
Section 14.1, « Le moteur de tables MyISAM
».
Chaque table ISAM
est stockée dans trois
fichiers. Les fichiers portent le nom de la table, et ont une
extension qui indique leur type. Un fichier
.frm
stocke la définition de table. Le
fichier de données a pour suffixe .ISD
. Le
fichier d'index a l'extension .ISM
.
ISAM
utilise les index
B-tree
.
Vous pouvez réparer ou vérifier une table
ISAM
avec l'utilitaire
isamchk
. See Section 5.7.3.7, « Utiliser myisamchk
pour restaurer une table ».
ISAM
possède les fonctionnalités/propriétés
suivantes :
Clefs compressées et de tailles fixes
Enregistrements de taille fixée ou dynamique
16 clefs avec 16 parties de clefs/clefs
Taille maximale de la clef 256 (défaut)
Les données sont enregistrées au format machine; c'est rapide, mais c'est dépendant de la machine/système d'exploitation.
La plupart des choses vraies pour les tables
MyISAM
le sont pour les tables
ISAM
. La différence majeure comparées aux
tables MyISAM
sont :
Les tables ISAM
ne sont pas portables
directement entre les plates-formes/systèmes d'exploitation.
Ne peut pas gérer les tables de taille supérieure à 4 Go.
Ne supporte que la compression des préfixes sur les chaînes de caractères.
Limites de clefs plus basses.
Les tables à taille de ligne dynamique sont plus fragmentées.
Ne supporte pas les tables MERGE
.
Les tables sont vérifiées et réparées avec
isamchk
plutôt que
myisamchk
.
Les tables sont compressées avec pack_isam
plutôt que myisampack
.
Impossible d'utiliser les commandes BACKUP
TABLE
et RESTORE TABLE
.
Impossible d'utiliser les commandes d'entretien CHECK
TABLE
, REPAIR TABLE
,
OPTIMIZE TABLE
et ANALYZE
TABLE
.
Pas de support pour les index en texte plein ou spatiaux.
Pas de support pour les jeux de caractères multiples.
Les index ne peuvent pas être assignés à des caches de clés spécifiques.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.