explain.depesz.com

PostgreSQL's explain analyze made readable

Result: Hbiz

Settings
# exclusive inclusive rows x rows loops node
1. 24,708.760 24,824.123 ↑ 1,381.4 7 1

Nested Loop (cost=1,808.54..101,051.42 rows=9,670 width=93) (actual time=2,024.359..24,824.123 rows=7 loops=1)

  • Output: cc.id, cc.first_name, cc.last_name, cc.original_name, ca.state, ca.city, ca.zip, 'state'::text, 2
  • Join Filter: ((cc.original_name)::text ~* (('\y'::text || (sn1.name)::text) || '\y'::text))
  • Rows Removed by Join Filter: 357077
2. 0.000 89.421 ↓ 1.1 1,526 1

Gather (cost=1,808.54..62,346.02 rows=1,422 width=57) (actual time=88.113..89.421 rows=1,526 loops=1)

  • Output: cc.id, cc.first_name, cc.last_name, cc.original_name, ca.state, ca.city, ca.zip
  • Workers Planned: 4
  • Workers Launched: 4
3. 48.806 184.999 ↑ 1.2 305 5

Nested Loop Left Join (cost=808.54..61,203.82 rows=356 width=57) (actual time=81.137..184.999 rows=305 loops=5)

  • Output: cc.id, cc.first_name, cc.last_name, cc.original_name, ca.state, ca.city, ca.zip
  • Inner Unique: true
  • Filter: ((ca.state IS NULL) OR (lower((ca.state)::text) = 'ca'::text))
  • Rows Removed by Filter: 2558
  • Worker 0: actual time=73.015..206.260 rows=474 loops=1
  • Worker 1: actual time=81.070..210.086 rows=439 loops=1
  • Worker 2: actual time=85.450..210.426 rows=323 loops=1
  • Worker 3: actual time=78.389..210.456 rows=289 loops=1
4. 56.415 136.177 ↑ 3.3 2,863 5

Parallel Bitmap Heap Scan on public.contributions_contributors cc (cost=808.10..39,353.24 rows=9,390 width=42) (actual time=75.091..136.177 rows=2,863 loops=5)

  • Output: cc.id, cc.first_name, cc.last_name, cc.middle_name, cc.suffix_name, cc.original_name, cc.name_parsed, cc.occupation, cc.employer, cc.is_individual, cc.address_id
  • Recheck Cond: ((cc.original_name)::text ~* '\yEllis\y'::text)
  • Rows Removed by Index Recheck: 1596
  • Heap Blocks: exact=6
  • Worker 0: actual time=69.233..145.748 rows=4392 loops=1
  • Worker 1: actual time=74.757..148.406 rows=3371 loops=1
  • Worker 2: actual time=74.702..149.777 rows=3432 loops=1
  • Worker 3: actual time=73.338..149.360 rows=3117 loops=1
5. 79.762 79.762 ↑ 1.7 22,299 1

Bitmap Index Scan on ix_contributions_contributors_original_name_idx_t (cost=0.00..798.71 rows=37,561 width=0) (actual time=79.762..79.762 rows=22,299 loops=1)

  • Index Cond: ((cc.original_name)::text ~* '\yEllis\y'::text)
6. 0.016 0.016 ↑ 1.0 1 14,317

Index Scan using contributions_addresses_pkey on public.contributions_addresses ca (cost=0.44..2.31 rows=1 width=23) (actual time=0.016..0.016 rows=1 loops=14,317)

  • Output: ca.id, ca.country, ca.city, ca.state, ca.address, ca.zip, ca.original_address, ca.address_parsed
  • Index Cond: (cc.address_id = ca.id)
  • Worker 0: actual time=0.013..0.013 rows=1 loops=4392
  • Worker 1: actual time=0.017..0.017 rows=1 loops=3371
  • Worker 2: actual time=0.016..0.016 rows=1 loops=3432
  • Worker 3: actual time=0.018..0.018 rows=1 loops=3117
7. 25.854 25.942 ↑ 5.8 234 1,526

Materialize (cost=0.00..30.40 rows=1,360 width=32) (actual time=0.000..0.017 rows=234 loops=1,526)

  • Output: sn1.name
8. 0.088 0.088 ↑ 5.8 234 1

Seq Scan on pg_temp_30.similar_names sn1 (cost=0.00..23.60 rows=1,360 width=32) (actual time=0.032..0.088 rows=234 loops=1)

  • Output: sn1.name