explain.depesz.com

PostgreSQL's explain analyze made readable

Result: WdDc

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

Merge Left Join (cost=272.53..286.19 rows=1,360 width=951) (actual rows= loops=)

  • Merge Cond: (contacts.id = qry_participants.contact_id)
2. 0.000 0.000 ↓ 0.0

Merge Left Join (cost=272.50..282.74 rows=1,360 width=919) (actual rows= loops=)

  • Merge Cond: (contacts.id = qry_main_contact.contact_id)
3. 0.000 0.000 ↓ 0.0

Merge Left Join (cost=272.47..279.29 rows=1,360 width=823) (actual rows= loops=)

  • Merge Cond: (contacts.id = qry_financial.contact_id)
4. 0.000 0.000 ↓ 0.0

Sort (cost=272.44..275.84 rows=1,360 width=819) (actual rows= loops=)

  • Sort Key: contacts.id
5. 0.000 0.000 ↓ 0.0

Hash Join (cost=165.11..201.66 rows=1,360 width=819) (actual rows= loops=)

  • Hash Cond: (event_registrations.transaction_status_id = lu_transaction_status.id)
6. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=163.75..183.74 rows=1,360 width=827) (actual rows= loops=)

  • Hash Cond: (final_result.contact_id = contacts.id)
7. 0.000 0.000 ↓ 0.0

Function Scan on crosstab final_result (cost=0.00..10.00 rows=1,000 width=776) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Hash (cost=146.75..146.75 rows=1,360 width=59) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Hash Join (cost=60.19..146.75 rows=1,360 width=59) (actual rows= loops=)

  • Hash Cond: (contacts.id = event_registrations.contact_id)
10. 0.000 0.000 ↓ 0.0

Seq Scan on contacts (cost=0.00..64.79 rows=2,179 width=43) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Hash (cost=43.19..43.19 rows=1,360 width=24) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Seq Scan on event_registrations (cost=0.00..43.19 rows=1,360 width=24) (actual rows= loops=)

  • Filter: (initial_registration AND (event_id = 45))
13. 0.000 0.000 ↓ 0.0

Hash (cost=1.16..1.16 rows=16 width=8) (actual rows= loops=)

14. 0.000 0.000 ↓ 0.0

Seq Scan on lu_transaction_status (cost=0.00..1.16 rows=16 width=8) (actual rows= loops=)

15. 0.000 0.000 ↓ 0.0

Sort (cost=0.03..0.04 rows=1 width=8) (actual rows= loops=)

  • Sort Key: qry_financial.contact_id
16. 0.000 0.000 ↓ 0.0

Subquery Scan on qry_financial (cost=0.00..0.02 rows=1 width=8) (actual rows= loops=)

17. 0.000 0.000 ↓ 0.0

Result (cost=0.00..0.01 rows=1 width=68) (actual rows= loops=)

18. 0.000 0.000 ↓ 0.0

Sort (cost=0.03..0.04 rows=1 width=100) (actual rows= loops=)

  • Sort Key: qry_main_contact.contact_id
19. 0.000 0.000 ↓ 0.0

Subquery Scan on qry_main_contact (cost=0.00..0.02 rows=1 width=100) (actual rows= loops=)

20. 0.000 0.000 ↓ 0.0

Result (cost=0.00..0.01 rows=1 width=100) (actual rows= loops=)

21. 0.000 0.000 ↓ 0.0

Sort (cost=0.03..0.04 rows=1 width=36) (actual rows= loops=)

  • Sort Key: qry_participants.contact_id
22. 0.000 0.000 ↓ 0.0

Subquery Scan on qry_participants (cost=0.00..0.02 rows=1 width=36) (actual rows= loops=)

23. 0.000 0.000 ↓ 0.0

Result (cost=0.00..0.01 rows=1 width=164) (actual rows= loops=)