Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
je voulais savoir s'il était possible d'afficher le temps effectif d'exécution d'une requête (a priori, EXPLAIN se contente d'une approximation en fonction des données qu'il possède concernant la base). Comme il y a de fortes chances que ce ne soit pas le cas directement dans psql , existe-t-il un utilitaire ?
Merci !
Hors ligne
bonjour,
dans psql : \timing permet de donner le temps d'execution de chaque requete
\timing [on|off] toggle timing of commands (currently on)
Dernière modification par arthurr (25/08/2010 11:33:00)
Hors ligne
Exact. Et il y a aussi un mode EXPLAIN ANALYZE, qui permet de mesurer le temps d'exécution de chaque étape du plan.
Marc.
Hors ligne
Merci bien !
J'utilise explain analyze de temps en temps, mais comme cela reste un explain, j'ai supposé que c'était également une estimation de chaque étape et non une mesure du temps mis effectivement par la requête.
Dernière modification par Tinaby (25/08/2010 11:37:27)
Hors ligne
Ce n'est pas le temps exact d'exécution de la requête, parce que l'analyze doit relever très fréquemment l'heure sur la machine pour faire ses mesures. Cela ralentit un peu l'exécution de la requête. L'autre différence, c'est qu'explain analyze ne comptabilise que le temps d'exécution de la requête, alors que \timing comptabilise aussi le temps d'analyse et de planification.
Marc.
Hors ligne
Sous SQLPlus (sur ma base oracle), j'utilise "SET timing ON" afin d'obtenir plus ou moins la même chose que \timing sous postgres. Le résultat s'affiche sous la forme HH:MI:SS.FF (heures:minutes:secondes.fractionnal_second) avec une précision du 100ème de seconde.
Je souhaiterais, afin de pouvoir voir quelque chose, obtenir une précision en FF6 (6 chiffres après la virgule) et non FF2. D'après ce que j'ai lu on peut préciser FF1 à FF9, mais je n'arrive pas à trouver comment faire pour le cas du timing : dans un appel à une fonction de transformation ou d'affichage on peut préciser le format directement en argument, ici, on ne peut pas.
Quelqu'un sait-il comment régler ce format pour l'affichage du "timing" ?
Hors ligne
Vous parlez du \timing ? il n'y a pas de moyen pour personnaliser la sortie de cette variable spécifique à psql. Ce sera toujours du %.3f ms (donc un flottant affiché avec trois chiffres après la virgule, en millisecondes).
Guillaume.
Hors ligne
Le \timing me convient parfaitement, c'est le format sous SQLplus que je souhaite changer.
Hors ligne
SQLplus, c'est du Oracle. Il serait donc mieux de demander sur un forum Oracle, non ?
Guillaume.
Hors ligne
Bah j'ai demandé partout, histoire d'avoir plus de chances de réponse x) Mais pour le moment toujours rien
Hors ligne
Peut-être que cette date dépend aussi du paramètre nls_date_format ? Vous pouvez toujours essayer de le modifier. Sinon je crains que cela ne soit en dur dans sqlplus. Si vous voulez vraiment des mesures de durées avec Oracle, le plus précis est habituellement obtenu via tkprof, même si c'est pénible à manipuler et à mettre en place.
Marc.
Hors ligne
Pages : 1