2010-11-15 10 views
0

J'ai un fichier SQL avec création de tables temporaires, un chargement de données, quelques sélections et quelques mises à jour.Sortie de statistiques MySQL

Je voudrais connaître le temps passé sur chaque instruction, à travers le CLI sur le shell. Si mon dossier contient:

SELECT "Step 1" AS ''; 
SELECT col1, col2 FROM t1 ORDER BY col3; 

Et je lance:

mysql -h host db < file

La sortie Je voudrais obtenir est:

 
Step 1 
1 row in set (0.00 sec) 
col1 col2 
20073 0724081 
20073 0724685 
20073 0726347 
20073 0726932 
20073 0733623 
5 rows in set (0.00 sec) 

Tne 1 row in set (0.00 sec) et 5 rows in set (0.00 sec) sont les informations que je suis à la recherche pour, PAS le temps Un * x pour le processus.

J'ai essayé différentes options mysql, même --show-warnings --i-am-a-dummy en vain. Existe-t-il un moyen d'obtenir les informations demandées?

Merci,

EDIT: Ajouté le temps manquant pour la première sélection.

Répondre

1
+0

Merci pour les informations de profilage Je peux l'utiliser pour le temps passé Est-il possible d'obtenir le nombre de lignes retournées? – Danosaure

+0

@Danosaure - il y a mysql_num_rows() et mysql_affected_rows() dans l'API C, mais vous avez probablement Normalement, je vais faire un 'mysql -N -h hôte db ajreal

+0

Merci pour votre conseil, mais ne s'applique pas à ma situation, comme ces fichiers SQL ont de nombreuses déclarations et les gens peuvent en ajouter plus, mais toute la sortie devrait aller dans un seul fichier. ne peut pas être divisé en plusieurs fichiers car il devient ingérable. Ce sont des tâches "simples" que je ne veux pas intégrer dans le programme. L'utilisateur devra vivre avec cette sortie au lieu de connaître les nombres exacts pour chaque déclaration. En outre, je ne suis pas sûr de la netiquette ici, vous avez le conseil le plus utile, mais pas la réponse ... – Danosaure

0

Je suppose que vous perdez les données de synchronisation en raison de l'arrondissement. (Par exemple, votre requête prend beaucoup moins de 0,001 seconde

+0

La chose est .. Je ne reçois pas cette dernière ligne à tout ce que je voudrais avoir pour chaque – Danosaure