MariaDB 5.3, Progress reporting

août 1, 2011

Parmi les nouveautés de MariaDB 5.3, l’une d’entre elle, bien pratique est le « progress reporting », qui permet de savoir où le serveur en est dans l’exécution d’une commande.

Le principe est simple, j’exécute une commande et MariaDB m’indique le pourcentage effectué pour une étape donnée. Un exemple:

MariaDB-5.3> ALTER TABLE client ENGINE=InnoDB;
Stage: 1 of 2 'copy to tmp table'   44.5% of stage done

MariaDB-5.3> ALTER TABLE client ENGINE=InnoDB;
Stage: 2 of 2 'Enabling keys'      0% of stage done    

MariaDB-5.3> ALTER TABLE client ENGINE=InnoDB;
Query OK, 3000000 rows affected (5 min 15.24 sec)      
Records: 3000000  Duplicates: 0  Warnings: 0

Les commandes implémentant le « progress reporting » sont pour le moment: ALTER TABLE, ADD INDEX, DROP INDEX, LOAD DATA INFILE.

Le moteur Aria supporte également les commandes suivantes: CHECK TABLE, REPAIR TABLE, ANALYZE TABLE, OPTIMIZE TABLE

MariaDB-5.3> > CHECK TABLE aria_table;
Stage: 3 of 3 'Checking data'      0% of stage done

Plus d’informations sur AskMonty.org.

5 Responses to “MariaDB 5.3, Progress reporting”

  1. Intéressant, peut-être sans le vouloir ça devrait apporter une réponse supplémentaire au problème de requête longue (très longue) à travers un firewall qui drop les sessions au bout d’un certain temps d’inactivité 😉

  2. du vécu ??? 😉

  3. Très sympa, comment s’affichent les différentes étapes dans le client MySQL, une nouvelle ligne apparait dès qu’il passe à l’étape suivante ?

  4. De plus, je vois que cette info est également disponible dans le SHOW PROCESSLIST pour toutes les requêtes en cours

  5. Salut Cédric,
    une nouvelle ligne apparaît et remplace l’ancienne, dès qu’il passe à l’étape suivante.
    Effectivement également disponible dans le SHOW PROCESSLIST ce qui est très pratique.
    D’ailleurs cette info est également disponible dans Percona server