19

When I run the EXPLAIN ANALYZE command on a given query, I'm having a difficult time interpreting the outputted time value. For example (actual time=8163.890..8163.893). Do the internal decimals represent repeating characters?? Sorry, this may be a noobish question, but I want to make sure I'm interpreting the results correctly.

   ->  GroupAggregate  (cost=2928781.21..2929243.02 rows=1 width=27712) (actual time=8163.890..8163.893 rows=1 loops=1)
24

actual time=8163.890..8163.893 means

Initializing that step ("startup") took 8163.890ms
Running the whole step took 8163.893ms

So in that case nearly the complete work was done in the startup phase of that step.

Edit:
The same logic is "applied" to the cost information

cost=2928781.21..2929243.02 means:

The cost to initialize this step was estimated at: 2928781.21
The cost to perform the step was estimated at: 2929243.02

(note that "cost" does not have a unit - it's an arbitrary value)

This is also explained here: http://www.postgresql.org/docs/current/static/using-explain.html

3
  • Thanks for the information and the link - I also found this document helpful, albeit somewhat outdated
    – Jmoney38
    Sep 14 '11 at 11:59
  • Thanks for the link. The document isn't really outdated. Newer versions of PostgreSQL show more information in the plan, but the basic principles still apply. Sep 14 '11 at 12:00
  • How do you interpret an explain analyze with this in a nested loop: (actual time=0.002..0.002 rows=0 loops=119878) ? I suppose the average per loop has rounded to zero rows which is unhelpful, but do these times really mean the execution cost is so trivial that it entirely consists of startup cost?
    – Davos
    Oct 24 '19 at 5:08
11

The first number is how long it took to return the first row in that step. The second number is how long it took to return the last row.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.