Services webmasters
Partenaires
Jeux concours gratuits
 
Mettre en place un régime d'entretien de MySQL
<<<
Obtenir des informations sur une table Administration du serveur
>>>

4.4 Prévention des désastres et restauration
4 Administration du serveur
 Manuel de Référence MySQL 4.1 : Version Française

Sauvegardes de base de données
Syntaxe de BACKUP TABLE
Syntaxe de RESTORE TABLE
Syntaxe de CHECK TABLE
Syntaxe de REPAIR TABLE
Utilisation de myisamchk pour la maintenance des tables et leur recouvrement
Mettre en place un régime d'entretien de MySQL
->Obtenir des informations sur une table

4.4.8 Obtenir des informations sur une table

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. 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. 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 ( .MYD file), en octets.
  • Max keyfile length Taille maximale du fichier d'index ( .MYI file), 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'optimisateur. 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 . 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 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.

<< Obtenir des informations sur une table >>
Mettre en place un régime d'entretien de MySQL Prévention des désastres et restauration Administration du serveur
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -