explain.depesz.com

PostgreSQL's explain analyze made readable

Result: thSQ

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

Hash Left Join (cost=861,776.31..100,032,967.63 rows=91,197,192 width=93) (actual time=9,738.308..11,188.228 rows=205 loops=1)

  • Hash Cond: (cc_s.address_id = ca.id)
2.          

CTE similar_names

3. 0.065 0.065 ↑ 1.0 234 1

Seq Scan on similar_names_dev (cost=0.00..4.34 rows=234 width=7) (actual time=0.027..0.065 rows=234 loops=1)

4. 0.491 147.594 ↑ 444,864.4 205 1

Nested Loop (cost=3,260.73..96,288,387.54 rows=91,197,192 width=42) (actual time=3.213..147.594 rows=205 loops=1)

5. 0.151 0.151 ↑ 1.0 234 1

CTE Scan on similar_names sm (cost=0.00..4.68 rows=234 width=32) (actual time=0.030..0.151 rows=234 loops=1)

6. 0.468 146.952 ↑ 389,732.0 1 234

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

  • Recheck Cond: ((to_tsvector('simple'::regconfig, (original_name)::text) @@ plainto_tsquery('simple'::regconfig, (((sm.name)::text || ' '::text) || 'Ellis'::text))) OR (to_tsvector('simple'::regconfig, (((first_name)::text || ' '::text) || (last_name)::text)) @@ plainto_tsquery('simple'::regconfig, (((sm.name)::text || ' '::text) || 'Ellis'::text))))
  • Heap Blocks: exact=205
7. 1.638 146.484 ↓ 0.0 0 234

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

8. 104.598 104.598 ↓ 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.447..0.447 rows=0 loops=234)

  • Index Cond: (to_tsvector('simple'::regconfig, (original_name)::text) @@ plainto_tsquery('simple'::regconfig, (((sm.name)::text || ' '::text) || 'Ellis'::text)))
9. 40.248 40.248 ↑ 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.172..0.172 rows=1 loops=234)

  • Index Cond: (to_tsvector('simple'::regconfig, (((first_name)::text || ' '::text) || (last_name)::text)) @@ plainto_tsquery('simple'::regconfig, (((sm.name)::text || ' '::text) || 'Ellis'::text)))
10. 5,383.839 9,704.939 ↑ 1.0 22,463,744 1

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

  • Buckets: 262144 Batches: 256 Memory Usage: 7001kB
11. 4,321.100 4,321.100 ↑ 1.0 22,463,744 1

Seq Scan on contributions_addresses ca (cost=0.00..446,090.44 rows=22,463,744 width=23) (actual time=0.012..4,321.100 rows=22,463,744 loops=1)

Planning time : 3.537 ms
Execution time : 11,188.516 ms