explain.depesz.com

PostgreSQL's explain analyze made readable

Result: TZGC

Settings
# exclusive inclusive rows x rows loops node
1. 1,327.265 11,646.421 ↑ 444,864.4 205 1

Hash Left Join (cost=861,771.97..100,032,962.95 rows=91,197,192 width=93) (actual time=10,201.060..11,646.421 rows=205 loops=1)

  • Output: cc_s.id, cc_s.first_name, cc_s.last_name, cc_s.original_name, ca_s.state, ca_s.city, ca_s.zip, 'state'::text, 0
  • Inner Unique: true
  • Hash Cond: (cc_s.address_id = ca_s.id)
  • Buffers: shared hit=231099, temp read=60154 written=123014
2. 0.423 152.108 ↑ 444,864.4 205 1

Nested Loop (cost=3,260.73..96,288,387.20 rows=91,197,192 width=42) (actual time=2.584..152.108 rows=205 loops=1)

  • Output: cc_s.id, cc_s.first_name, cc_s.last_name, cc_s.original_name, cc_s.address_id
  • Buffers: shared hit=9646
3. 0.053 0.053 ↑ 1.0 234 1

Seq Scan on public.similar_names_dev sm (cost=0.00..4.34 rows=234 width=7) (actual time=0.014..0.053 rows=234 loops=1)

  • Output: sm.name
  • Buffers: shared hit=2
4. 0.468 151.632 ↑ 389,732.0 1 234

Bitmap Heap Scan on public.contributions_contributors cc_s (cost=3,260.73..407,591.50 rows=389,732 width=42) (actual time=0.646..0.648 rows=1 loops=234)

  • Output: cc_s.id, cc_s.first_name, cc_s.last_name, cc_s.middle_name, cc_s.suffix_name, cc_s.original_name, cc_s.name_parsed, cc_s.occupation, cc_s.employer, cc_s.is_individual, cc_s.address_id
  • Recheck Cond: ((to_tsvector('simple'::regconfig, (cc_s.original_name)::text) @@ plainto_tsquery('simple'::regconfig, (((sm.name)::text || ' '::text) || 'Ellis'::text))) OR (to_tsvector('simple'::regconfig, (((cc_s.first_name)::text || ' '::text) || (cc_s.last_name)::text)) @@ plainto_tsquery('simple'::regconfig, (((sm.name)::text || ' '::text) || 'Ellis'::text))))
  • Heap Blocks: exact=205
  • Buffers: shared hit=9644
5. 1.872 151.164 ↓ 0.0 0 234

BitmapOr (cost=3,260.73..3,260.73 rows=390,708 width=0) (actual time=0.646..0.646 rows=0 loops=234)

  • Buffers: shared hit=9439
6. 107.406 107.406 ↓ 0.0 0 234

Bitmap Index Scan on ix_contributions_contributors_original_name_tsv_simple (cost=0.00..1,537.31 rows=195,354 width=0) (actual time=0.459..0.459 rows=0 loops=234)

  • Index Cond: (to_tsvector('simple'::regconfig, (cc_s.original_name)::text) @@ plainto_tsquery('simple'::regconfig, (((sm.name)::text || ' '::text) || 'Ellis'::text)))
  • Buffers: shared hit=6165
7. 41.886 41.886 ↑ 195,354.0 1 234

Bitmap Index Scan on ix_contributions_contributors_name_tsv_simple (cost=0.00..1,528.55 rows=195,354 width=0) (actual time=0.179..0.179 rows=1 loops=234)

  • Index Cond: (to_tsvector('simple'::regconfig, (((cc_s.first_name)::text || ' '::text) || (cc_s.last_name)::text)) @@ plainto_tsquery('simple'::regconfig, (((sm.name)::text || ' '::text) || 'Ellis'::text)))
  • Buffers: shared hit=3274
8. 5,725.642 10,167.048 ↑ 1.0 22,463,744 1

Hash (cost=446,090.44..446,090.44 rows=22,463,744 width=23) (actual time=10,167.048..10,167.048 rows=22,463,744 loops=1)

  • Output: ca_s.state, ca_s.city, ca_s.zip, ca_s.id
  • Buckets: 262144 Batches: 256 Memory Usage: 7001kB
  • Buffers: shared hit=221453, temp written=122635
9. 4,441.406 4,441.406 ↑ 1.0 22,463,744 1

Seq Scan on public.contributions_addresses ca_s (cost=0.00..446,090.44 rows=22,463,744 width=23) (actual time=0.008..4,441.406 rows=22,463,744 loops=1)

  • Output: ca_s.state, ca_s.city, ca_s.zip, ca_s.id
  • Buffers: shared hit=221453
Planning time : 2.307 ms
Execution time : 11,646.684 ms