Pour obtenir la description d'une table ou des statistiques à son sujet, utiliser les commandes affichées ici. Nous allons expliquer certains de leurs détails ultérieurement.
myisamchk -d nom_de_table Exécute
myisamchk
en ``mode description'' pour
produire une description de votre table. Si vous démarrez
le serveur MySQL en utilisant l'option
--skip-external-locking
,
myisamchk
va rapporter une erreur si la
table est modifiée durant l'exécution de la commande.
Cependant, comme myisamchk
ne modifie pas
les tables, durant le mode description, il n'y a pas de
risque de perte de données.
myisamchk -d -v nom_de_table Pour produire plus
d'informations durant l'exécution de
myisamchk
, ajoutez l'option
-v
pour indiquer qu'elle doit fonctionner
en mode détaillé.
myisamchk -eis nom_de_table Affiche les informations les plus importantes pour une table. C'est une commande lente, car elle doit lire toute la table.
myisamchk -eiv nom_de_table C'est l'équivalent de
-eis
, mais qui vous indique ce qui se
passe.
Exemple d'affichage résultant de myisamchk
-d
:
MyISAM file: company.MYI Record format: Fixed length Data records: 1403698 Deleted blocks: 0 Recordlength: 226 table description: Key Start Len Index Type 1 2 8 unique double 2 15 10 multip. text packed stripped 3 219 8 multip. double 4 63 10 multip. text packed stripped 5 167 2 multip. unsigned short 6 177 4 multip. unsigned long 7 155 4 multip. text 8 138 4 multip. unsigned long 9 177 4 multip. unsigned long 193 1 text
Exemple d'affichage résultant de myisamchk -d
-v
:
MyISAM file: company Record format: Fixed length File-version: 1 Creation time: 1999-10-30 12:12:51 Recover time: 1999-10-31 19:13:01 Status: checked Data records: 1403698 Deleted blocks: 0 Datafile parts: 1403698 Deleted data: 0 Datafilepointer (bytes): 3 Keyfile pointer (bytes): 3 Max datafile length: 3791650815 Max keyfile length: 4294967294 Recordlength: 226 table description: Key Start Len Index Type Rec/key Root Blocksize 1 2 8 unique double 1 15845376 1024 2 15 10 multip. text packed stripped 2 25062400 1024 3 219 8 multip. double 73 40907776 1024 4 63 10 multip. text packed stripped 5 48097280 1024 5 167 2 multip. unsigned short 4840 55200768 1024 6 177 4 multip. unsigned long 1346 65145856 1024 7 155 4 multip. text 4995 75090944 1024 8 138 4 multip. unsigned long 87 85036032 1024 9 177 4 multip. unsigned long 178 96481280 1024 193 1 text
Exemple d'affichage résultant de myisamchk
-eis
:
Checking MyISAM file: company Key: 1: Keyblocks used: 97% Packed: 0% Max levels: 4 Key: 2: Keyblocks used: 98% Packed: 50% Max levels: 4 Key: 3: Keyblocks used: 97% Packed: 0% Max levels: 4 Key: 4: Keyblocks used: 99% Packed: 60% Max levels: 3 Key: 5: Keyblocks used: 99% Packed: 0% Max levels: 3 Key: 6: Keyblocks used: 99% Packed: 0% Max levels: 3 Key: 7: Keyblocks used: 99% Packed: 0% Max levels: 3 Key: 8: Keyblocks used: 99% Packed: 0% Max levels: 3 Key: 9: Keyblocks used: 98% Packed: 0% Max levels: 4 Total: Keyblocks used: 98% Packed: 17% Records: 1403698 M.recordlength: 226 Packed: 0% Recordspace used: 100% Empty space: 0% Blocks/Record: 1.00 Record blocks: 1403698 Delete blocks: 0 Recorddata: 317235748 Deleted data: 0 Lost space: 0 Linkdata: 0 User time 1626.51, System time 232.36 Maximum resident set size 0, Integral resident set size 0 Non physical pagefaults 0, Physical pagefaults 627, Swaps 0 Blocks in 0 out 0, Messages in 0 out 0, Signals 0 Voluntary context switches 639, Involuntary context switches 28966
Exemple d'affichage résultant de myisamchk
-eiv
:
Checking MyISAM file: company Data records: 1403698 Deleted blocks: 0 - check file-size - check delete-chain block_size 1024: index 1: index 2: index 3: index 4: index 5: index 6: index 7: index 8: index 9: No recordlinks - check index reference - check data record references index: 1 Key: 1: Keyblocks used: 97% Packed: 0% Max levels: 4 - check data record references index: 2 Key: 2: Keyblocks used: 98% Packed: 50% Max levels: 4 - check data record references index: 3 Key: 3: Keyblocks used: 97% Packed: 0% Max levels: 4 - check data record references index: 4 Key: 4: Keyblocks used: 99% Packed: 60% Max levels: 3 - check data record references index: 5 Key: 5: Keyblocks used: 99% Packed: 0% Max levels: 3 - check data record references index: 6 Key: 6: Keyblocks used: 99% Packed: 0% Max levels: 3 - check data record references index: 7 Key: 7: Keyblocks used: 99% Packed: 0% Max levels: 3 - check data record references index: 8 Key: 8: Keyblocks used: 99% Packed: 0% Max levels: 3 - check data record references index: 9 Key: 9: Keyblocks used: 98% Packed: 0% Max levels: 4 Total: Keyblocks used: 9% Packed: 17% - check records and index references [LOTS OF ROW NUMBERS DELETED] Records: 1403698 M.recordlength: 226 Packed: 0% Recordspace used: 100% Empty space: 0% Blocks/Record: 1.00 Record blocks: 1403698 Delete blocks: 0 Recorddata: 317235748 Deleted data: 0 Lost space: 0 Linkdata: 0 User time 1639.63, System time 251.61 Maximum resident set size 0, Integral resident set size 0 Non physical pagefaults 0, Physical pagefaults 10580, Swaps 0 Blocks in 4 out 0, Messages in 0 out 0, Signals 0 Voluntary context switches 10604, Involuntary context switches 122798
Voici les tailles des fichiers de données et d'index utilisés dans les tables précédentes :
-rw-rw-r-- 1 monty tcx 317235748 Jan 12 17:30 company.MYD -rw-rw-r-- 1 davida tcx 96482304 Jan 12 18:35 company.MYM
Des détails sur les types d'informations retournés par
myisamchk
sont listés ici. Le ``keyfile''
est le fichier d'index. ``Record'' et ``row'' sont synonymes de
ligne :
ISAM file
Nom du fichier d'index ISAM.
Isam-version
Version du format ISAM.
Actuellement, c'est toujours 2.
Creation time
Date de création du
fichier de données.
Recover time
Date de dernière
reconstruction du fichier de données ou d'index.
Data records
Combien de lignes sont
stockées dans la table.
Deleted blocks
Combien de blocs effacés
occupent toujours de l'espace. Vous pouvez optimiser la
table pour récupérer cet espace. See
Section 5.7.3.10, « Optimisation de table ».
Data file: Parts
Pour les tables au
format de ligne dynamique, ceci indique combien de blocs de
données sont présents. Pour une table optimisée sans
lignes fragmentées, la valeur doit être égale à
Data records
.
Deleted data
Combien d'octets de données
effacées et non réutilisées sont présents dans la table.
Vous pouvez optimiser la table pour récupérer cet espace.
See Section 5.7.3.10, « Optimisation de table ».
Data file pointer
La taille du pointeur
de fichier de données, en octets. C'est généralement 2,
3, 4, ou 5 octets. La plupart des tables peuvent se gérer
avec 2 octets, mais ceci ne peut être contrôlé par MySQL
actuellement. Pour les tables à format de ligne fixe, c'est
une adresse de ligne. Pour les tables dynamiques, c'est une
adresse d'octet.
Keyfile pointer
La taille du pointeur de
fichier d'index, en octets. C'est généralement 1, 2 ou 3
octets. La plupart des tables supportent 2 octets, mais cela
est calculé automatiquement par MySQL. C'est toujours une
adresse de bloc.
Max datafile length
Taille maximale du
fichier de données, en octets.
Max keyfile length
Taille maximale du
fichier d'index, en octets.
Recordlength
Taille occupée par chaque
ligne, en octets.
Record format
Le format utilisé pour
stocker les lignes de la table. Les exemples ci-dessus
utilisaient Fixed length
. Les autres
valeurs possibles sont Compressed
et
Packed
.
table description
Une liste de toutes les
clés de la table. Pour chaque clé, des informations de bas
niveau sont présentées :
Key
Le numéro d'index.
Start
Où, dans la ligne, l'index
débute.
Len
Taille de cette partie d'index.
Pour les nombres compactés, c'est toujours la taille
maximale de la colonne. Pour les chaînes, c'est plus
petit que la taille maximale de la colonne index, car
vous pouvez indexer un préfixe de la chaîne.
Index
unique
et
multip.
(multiple). Indique si une
valeur peut exister plusieurs fois dans cet index.
Type
De quel type de données cet
index est. C'est un type de données ISAM avec les
options packed
,
stripped
ou empty
.
Root
Adresse du premier bloc d'index.
Blocksize
La taille de chaque bloc
d'index. Par défaut, c'est 1024, mais cette valeur peut
être modifiée lors de la compilation.
Rec/key
C'est une valeur statistique,
utilisée par l'optimiseur. Il indique combien de lignes
sont disponibles par valeur de cette clé. Une clé
unique aura toujours une valeur de 1. Cela peut être
modifié une fois que la table est chargée (ou
modifiée de fa¸on majeure), avec la commande
myisamchk -a
. Si ce n'est pas mis à
jour, une valeur par défaut de 30 est utilisée.
Dans le premier exemple ci-dessus, la neuvième clé est une clé multi-partie, avec deux parties.
Keyblocks used
Quel pourcentage des blocs
de clé est utilisé. Comme les tables utilisées dans les
exemples ont tout juste été réorganisées avec
myisamchk
, ces valeurs sont très grandes
(très proches du maximum théorique).
Packed
MySQL essaie de compacter les
clés ayant un préfixe commun. Cela ne peut être utilisé
que pour les colonnes de type
CHAR
/VARCHAR
/DECIMAL
.
Pour les longues chaînes comme des noms, cette technique va
significativement réduire l'espace utilisé. Dans le
troisième exemple ci-dessus, la quatrième clé fait 10
caractères de long et a une réduction de 60 % dans
l'espace utilisé effectivement.
Max levels
La profondeur du
B-tree
. Les grandes tables avec de
longues clés peuvent obtenir de grandes valeurs.
Records
Combien de lignes sont
enregistrées dans la table.
M.recordlength
La taille moyenne d'une
ligne. Pour les tables avec un format de ligne statique,
c'est la taille de chaque ligne.
Packed
MySQL efface les espaces à la fin
des chaînes. Packed
indique le
pourcentage d'économie d'espace réalisé.
Recordspace used
Quel est le pourcentage
d'utilisation du fichier de données.
Empty space
Quel est le pourcentage
d'utilisation du fichier d'index.
Blocks/Record
Le nombre moyen de blocs
par enregistrements (c'est à dire, de combien de liens une
ligne fragmentées est constituée). C'est toujours 1.0 pour
les tables à format de ligne statique. Cette valeur doit
être aussi proche que possible de 1.0. Si elle grossit
trop, vous pouvez réorganiser la table avec
myisamchk
. See
Section 5.7.3.10, « Optimisation de table ».
Recordblocks
Combien de blocs sont
utilisés. Pour les tables à format de ligne fixe, c'est le
même nombre que le nombre de lignes.
Deleteblocks
Combien de blocs (liens)
sont effacés.
Recorddata
Combien d'octets sont
utilisés dans le fichier.
Deleted data
Combien d'octets dans le
fichier de données sont effacés (inutilisés).
Lost space
Si une ligne est modifiée, et
réduite en taille, de l'espace est perdu. Ce chiffre est la
somme de ces espaces perdus, en octets.
Linkdata
Lorsque le format de ligne
dynamique est utilisé, les fragments de lignes sont liés
avec des pointeurs de (4 à 7 octets chacun).
Linkdata
est la somme du stockage
utilisé par ces pointeurs.
Si une table a été compressée avec
myisampack
, myisamchk -d
affiche des informations supplémentaires à propos de chaque
colonne. Voir Section 8.2, « myisampack
, le générateur de tables MySQL
compressées en lecture seule », pour un exemple de
ces informations, et une description de leur signification.
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.