explain.depesz.com

PostgreSQL's explain analyze made readable

Result: tX81

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

Sort (cost=103.70..104.20 rows=200 width=200) (actual rows= loops=)

  • Sort Key: temp.player_name
2.          

CTE temp

3. 0.000 0.000 ↓ 0.0

Hash Join (cost=40.78..58.85 rows=671 width=85) (actual rows= loops=)

  • Hash Cond: (e.olympic_id = o.olympic_id)
4. 0.000 0.000 ↓ 0.0

Hash Join (cost=24.70..40.99 rows=671 width=53) (actual rows= loops=)

  • Hash Cond: (r.event_id = e.event_id)
5. 0.000 0.000 ↓ 0.0

Hash Join (cost=16.19..30.68 rows=671 width=53) (actual rows= loops=)

  • Hash Cond: (r.player_id = p.player_id)
6. 0.000 0.000 ↓ 0.0

Seq Scan on results r (cost=0.00..12.71 rows=671 width=19) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Hash (cost=10.53..10.53 rows=453 width=56) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Seq Scan on players p (cost=0.00..10.53 rows=453 width=56) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Hash (cost=6.56..6.56 rows=156 width=16) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Seq Scan on events e (cost=0.00..6.56 rows=156 width=16) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Hash (cost=12.70..12.70 rows=270 width=40) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Seq Scan on olympics o (cost=0.00..12.70 rows=270 width=40) (actual rows= loops=)

13. 0.000 0.000 ↓ 0.0

HashAggregate (cost=35.20..37.20 rows=200 width=200) (actual rows= loops=)

  • Group Key: temp.player_name, temp.birthdate, temp.olympic_id
14. 0.000 0.000 ↓ 0.0

CTE Scan on temp (cost=0.00..30.20 rows=668 width=200) (actual rows= loops=)

  • Filter: (date_part('year'::text, age(((startdate - 1))::timestamp with time zone, (birthdate)::timestamp with time zone)) <> date_part('year'::text, age((enddate)::timestamp with time zone, (birthdate)::timestamp with time zone)))