explain.depesz.com

PostgreSQL's explain analyze made readable

Result: uKgh

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 0.000 ↓ 0.0

Limit (cost=58.04..58.09 rows=20 width=98) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Sort (cost=58.04..59.30 rows=503 width=98) (actual rows= loops=)

  • Sort Key: progression.last_modified DESC, progression.id
3. 0.000 0.000 ↓ 0.0

HashAggregate (cost=39.63..44.66 rows=503 width=98) (actual rows= loops=)

  • Group Key: progression.id, customer.username, customer.uid
4. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=4.28..34.60 rows=503 width=94) (actual rows= loops=)

  • Hash Cond: (progression.id = customer_progression.progression_id)
5. 0.000 0.000 ↓ 0.0

Hash Join (cost=2.16..29.48 rows=503 width=90) (actual rows= loops=)

  • Hash Cond: (progression.created_by = customer.id)
6. 0.000 0.000 ↓ 0.0

Seq Scan on progression (cost=0.00..25.20 rows=503 width=63) (actual rows= loops=)

  • Filter: ((NOT soft_deleted) AND (NOT private))
7. 0.000 0.000 ↓ 0.0

Hash (cost=2.07..2.07 rows=7 width=35) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Seq Scan on customer (cost=0.00..2.07 rows=7 width=35) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Hash (cost=1.50..1.50 rows=50 width=4) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Seq Scan on customer_progression (cost=0.00..1.50 rows=50 width=4) (actual rows= loops=)