| 14.5.3 Syntaxe de SHOW
 14.5 Référence de langage d'administration de la base de données
 14 Syntaxe des commandes SQL
 Manuel de Référence MySQL 4.1 : Version Française
 
 . Syntaxe de SET
 . Commande SHOW CHARACTER SET
 . Syntaxe de SHOW COLLATION
 . Syntaxe de SHOW COLUMNS
 . Syntaxe de SHOW CREATE DATABASE
 . Syntaxe de SHOW CREATE TABLE
 . Syntaxe SHOW CREATE VIEW
 . Syntaxe de SHOW DATABASES
 . Syntaxe SHOW ENGINES
 . Syntaxe de SHOW ERRORS
 . SHOW GRANTS
 . Syntaxe de SHOW INDEX
 . Syntaxe de SHOW INNODB STATUS
 . Syntaxe de SHOW LOGS
 . SHOW PRIVILEGES
 ->Syntaxe de SHOW PROCESSLIST
 . Syntaxe de SHOW STATUS
 . SHOW TABLE STATUS
 . Syntaxe de SHOW TABLES
 . Syntaxe de SHOW VARIABLES
 . SHOW WARNINGS | ERRORS
 
 
 | 
  14.5.3.16 Syntaxe de SHOW PROCESSLIST    
  SHOW [FULL] PROCESSLIST
  affiche la liste de processus qui sont en cours
d'exécution. Vous pouvez aussi obtenir ces informations avec la commande
en ligne  
mysqladmin processlist
 . Si vous avez les droits de
 
SUPER
 , vous pourrez aussi voir les autres threads. Sinon, vous ne
pourrez voir que les votre.  Syntaxe de 
KILL
 .
Si vous n'utilisez pas l'option  
FULL
 , seuls les 100 premiers caractères de
chaque requête seront affichés. 
Cette commande est très pratique si vous obtenez trop d'erreurs
' 
too many connections
 ' et que vous voulez savoir ce qui se passe.
MySQL réserve une connexion supplémentaire pour un client ayant les
droits de  
SUPER
 , de façon à ce qu'il y ait toujours la possibilité 
de se connecter et de vérifier le système (en supposant que vous ne donnez
pas ce droit à tous vos utilisateurs).
Certains états sont souvent disponible dans le résultat de  
mysqladmin processlist 
La plupart des états sont des opérations très rapides. Si le thread s'attarde
dans un de ces états pour plusieurs secondes, il doit y avoir un problème qui
mérite d'être étudié.Il existe encore d'autres états qui ne sont pas mentionné ci-dessus, mais la majorité
sont utilisés pour trouver des bogues dans  
mysqld
 .
Checking table
      Le thread fait une vérification (automatique) de la table.
      
Closing tables
      Le thread est en train d'écrire les données modifiées sur le disque, et
il va fermer les tables. Cela doit être une opération très rapide. Si ce n'est
pas le cas, vous devriez vérifier si vous n'avez pas un disque plein, ou que
le disque est sous haute charge.
      
Connect Out
      Connexion d'un esclave sur le maître.
      
Copying to tmp table on disk
      Le résultat temporaire était plus grand que  
tmp_table_size
  et le 
thread passe d'une table en mémoire à une table sur disque.
      
Creating tmp table
      Le thread est en train de créer une table temporaire pour contenir le résultat
d'une requête.
      
deleting from main table
      Lors de l'exécution de la première partie d'une requête d'effacement multi-table,
et que MySQL n'a commencé à effacer que dans la première table.
      
deleting from reference tables
      Lors de l'exécution de la deuxième partie d'une requête d'effacement multi-table,
et que MySQL a commencé à effacer dans les autres tables.
      
Flushing tables
      Le thread exécute la commande  
FLUSH TABLES
  et il attend que tous les threads
ferme leur tables.
      
Killed
      Quelqu'un a envoyé une commande  
KILL
  et le thread s'annuler la prochaine
fois qu'il vérifie l'option de kill. Cette option est vérifiée dans chaque
boucle majeure de MySQL, mais dans certains cas, il peut lui prendre un court
instant avant de s'arrêter. Si le thread est verrouillé par un autre thread, l'arrêt
va prendre effet aussitôt que l'autre thread lève son verrou.
      
Sending data
      Le thread traite des lignes pour une commande  
SELECT
  et il envoie les données
au client.
      
Sorting for group
      Le thread est en train de faire un tri pour satisfaire une clause  
GROUP BY
 .
      
Sorting for order
      Le thread est en train de faire un tri pour satisfaire une clause  
ORDER BY
 .
      
Opening tables
      Cela signifie simplement que le thread essaie d'ouvrir une table. Ce doit être
une opération très rapide, à moins que quelque chose ne retarde l'ouverture.
Par exemple, une commande  
ALTER TABLE
  ou  
LOCK TABLE
  peut empêcher 
l'ouverture de table, jusqu'à l'achèvement de la commande.
      
Removing duplicates
      La requête utilisait  
SELECT DISTINCT
  de telle manière que MySQL
ne pouvait pas optimiser les lignes distinctes au début du traitement.
A cause de cela, MySQL doit effectuer une opération de plus pour supprimer
toutes les lignes en doubles, avant d'envoyer les lignes au client.
      
Reopen table
      Le thread a reçu un verrou pour une table, mais a noté après l'avoir reçu
que la structure de la table a changé. Il a libéré le verrou, fermé la table,
et maintenant il essaie de la rouvrir.
      
Repair by sorting
      Le thread répare la table en utilisant la méthode de tri pour créer l'index.
      
Repair with keycache
      Le thread répare la table en utilisant la méthode de création des clés
à partir du cache de clé. C'est bien plus lent que  
la réparation par tri
 .
      
Searching rows for update
      Le thread effectue une première phase pour trouver toutes les lignes
qui satisfont les critères avant de les modifier. Cela doit être fait
si  
UPDATE
  modifie l'index qui sera utilisé pour trouver les lignes.
      
Sleeping
      Le thread attend que le client envoie une nouvelle commande.
      
System lock
      Le thread attend le verrou externe pour la table. Si vous n'utilisez pas
de serveurs MySQL multiples qui exploitent les mêmes tables, vous pouvez
désactiver les verrous systèmes avec l'option  
--skip-external-locking
 .
      
Upgrading lock
      Le gestionnaire de  
INSERT DELAYED
  essaie d'obtenir un verrou pour
insérer des lignes.
      
Updating
      Le thread recherche des lignes pour les modifier.
      
User Lock
      Le thread attend un  
GET_LOCK()
 .
      
Waiting for tables
      Le thread a reçu l'annonce que la structure de table a été modifiée, et il
doit réouvrir la table pour obtenir une nouvelle structure. Pour être capable
de réouvrir la table, il doit attendre que les autres threads aient fermé la
table en question.
 
Cette annonce survient lorsqu'un autre autre thread a été utilisé avec la 
commande  
FLUSH TABLES
  ou une des commandes suivantes, appliquées à
la table en question :  
FLUSH TABLES table_name
 ,  
ALTER TABLE
 ,  
RENAME TABLE
 ,
 
REPAIR TABLE
 ,  
ANALYZE TABLE
  ou  
OPTIMIZE TABLE
 .
 
waiting for handler insert
      Le gestionnaire de  
INSERT DELAYED
  a traité toutes insertions,
et en attend de nouvelles.
      |