web-dev-qa-db-fra.com

Comment puis-je chronométrer des requêtes SQL en utilisant psql?

Je voudrais comparer certaines requêtes SQL avec ma base de données PostgreSQL. Existe-t-il un moyen de chronométrer les requêtes SQL en utilisant psql?

258
Jonas

Activez simplement le chronométrage en entrant:

\timing

349
Caleb

Le chronométrage peut être activé avec \timing à l'invite psql (comme l'a déjà dit Caleb).

Si vous êtes sur 8.4 ou supérieur, vous pouvez ajouter un argument on/off optionnel à \timing , ce qui peut être utile si vous voulez pouvoir définir le timing sur .psqlrc - vous pouvez alors définir \timing on explicitement dans un script où plain \timing le désactiverait autrement

Le temps que \timing renvoie également la latence du réseau, si vous vous connectez à un serveur distant.

Lorsque vous ne le souhaitez pas et n'avez pas besoin de la sortie de la requête, mieux vaut utiliser EXPLAIN ANALYZE , qui génère le plan de requête avec les estimations du planificateur plus les temps d'exécution réels.

par exemple, EXPLAIN ANALYZE SELECT foo from bar ;

17
Devi