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.
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
@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
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