Risposte:
Attiva il tempismo inserendo:
\timing
psql
non consente questa impostazione. Puoi farlo con qualcosa del tipo: psql --o /dev/null <<EOF \timing select 1 EOF
psql -c '\timing' -c 'select 1'
Il tempismo può essere attivato con \timing
il prompt di psql (come già detto da Caleb).
Se sei su 8.4 o versioni successive, puoi aggiungere un argomento on / off opzionale\timing
, che può essere utile se vuoi essere in grado di impostare il timing su .psqlrc - puoi quindi impostare \timing on
esplicitamente in uno script in cui \timing
altrimenti verrebbe attivato fuori
Il tempo che \timing
ritorna include anche la latenza della rete, se ci si connette a un server remoto.
Quando non lo si desidera e non è necessario anche l'output della query, utilizzare meglio EXPLAIN ANALYZE
, che genera il piano di query con le stime del planner più i tempi di esecuzione effettivi.
per esempio, EXPLAIN ANALYZE SELECT foo from bar ;
explain analyze
tempi di resa è circa il doppio di quello che vedo quando utilizzo \timing
, il che è l'opposto di quello che mi aspetterei in base ai commenti qui sulla latenza della rete. Ho il sospetto che ci sia un sovraccarico nell'esecuzione normale analyze
che si aggiunge al tempo di query. Sulla base dei documenti, penso che EXPLAIN (ANALYZE, TIMING OFF) SELECT foo FROM bar
ti darà informazioni di tempismo più utili. Vedi postgresql.org/docs/9.6/static/sql-explain.html per i dettagli.