explain.depesz.com

PostgreSQL's explain analyze made readable

Result: SVet : Optimization for: plan #nFkI

Settings

Optimization path:

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

Limit (cost=17,065.27..17,065.27 rows=1 width=2,171) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Sort (cost=17,065.27..17,065.27 rows=1 width=2,171) (actual rows= loops=)

  • Sort Key: receipts.contribution_amount DESC
3. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=3.94..17,065.26 rows=1 width=2,171) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=3.52..17,062.57 rows=1 width=1,891) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=3.10..17,059.89 rows=1 width=1,687) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=2.69..17,057.21 rows=1 width=1,415) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Nested Loop (cost=2.27..17,054.52 rows=1 width=1,211) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.83..16,693.14 rows=133 width=869) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.40..16,303.65 rows=143 width=816) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.83..9.48 rows=1 width=476) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Index Scan using ix_committees_super_committee_id on committees committees_1 (cost=0.42..5.04 rows=1 width=204) (actual rows= loops=)

  • Index Cond: (super_committee_id = 47823)
  • Filter: (id = ANY ('{131597,131596,131595}'::integer[]))
12. 0.000 0.000 ↓ 0.0

Index Scan using super_committees_pkey on super_committees super_committees_1 (cost=0.41..4.43 rows=1 width=272) (actual rows= loops=)

  • Index Cond: (id = 47823)
13. 0.000 0.000 ↓ 0.0

Index Scan using ix_receipts_recipient_committee_id on receipts (cost=0.56..16,217.29 rows=7,688 width=340) (actual rows= loops=)

  • Index Cond: (recipient_committee_id = committees_1.id)
  • Filter: (donor_individual_id IS NOT NULL)
14. 0.000 0.000 ↓ 0.0

Index Scan using ix_individual_matches_individual_id on individual_matches (cost=0.43..2.72 rows=1 width=53) (actual rows= loops=)

  • Index Cond: (individual_id = receipts.donor_individual_id)
15. 0.000 0.000 ↓ 0.0

Index Scan using super_individuals_pkey on super_individuals (cost=0.43..2.72 rows=1 width=342) (actual rows= loops=)

  • Index Cond: (id = individual_matches.super_individual_id)
  • Filter: ((employer_tsvector @@ '''facebook'':*'::tsquery) OR (employer_tsvector @@ '''google'':*'::tsquery))
16. 0.000 0.000 ↓ 0.0

Index Scan using committees_pkey on committees committees_2 (cost=0.42..2.68 rows=1 width=204) (actual rows= loops=)

  • Index Cond: (receipts.donor_committee_id = id)
17. 0.000 0.000 ↓ 0.0

Index Scan using super_committees_pkey on super_committees super_committees_3 (cost=0.41..2.68 rows=1 width=272) (actual rows= loops=)

  • Index Cond: (committees_2.super_committee_id = id)
18. 0.000 0.000 ↓ 0.0

Index Scan using committees_pkey on committees committees_3 (cost=0.42..2.68 rows=1 width=204) (actual rows= loops=)

  • Index Cond: (receipts.conduit_committee_id = id)
19. 0.000 0.000 ↓ 0.0

Index Scan using super_committees_pkey on super_committees super_committees_2 (cost=0.41..2.68 rows=1 width=272) (actual rows= loops=)

  • Index Cond: (committees_3.super_committee_id = id)