explain.depesz.com

PostgreSQL's explain analyze made readable

Result: gO5w

Settings
# exclusive inclusive rows x rows loops node
1. 11.475 661.427 ↑ 5,667.3 3 1

Hash Right Join (cost=35,075.92..64,666.56 rows=17,002 width=24) (actual time=513.225..661.427 rows=3 loops=1)

  • Hash Cond: (v_1.address_id = v.address_id)
2. 56.637 451.431 ↑ 1.0 145,400 1

Hash Join (cost=9,482.03..38,355.79 rows=145,478 width=32) (actual time=91.318..451.431 rows=145,400 loops=1)

  • Hash Cond: (cvp_1.place_description_id = e_1.id)
3. 305.649 351.359 ↑ 1.0 145,400 1

Hash Join (cost=4,610.26..33,102.13 rows=145,478 width=16) (actual time=46.829..351.359 rows=145,400 loops=1)

  • Hash Cond: (v_1.id = cvp_1.place_description_version_id)
  • -> Seq Scan on place_description_version v_1 (cost=0.00..24222.25 rows=750,625 width=16) (actual time=0.006..115.023 ro
4. 45.710 45.710 ↑ 1.0 145,400 1

Hash (cost=2,791.78..2,791.78 rows=145,478 width=16) (actual time=45.710..45.710 rows=145,400 loops=1)

  • Buckets: 262,144 Batches: 1 Memory Usage: 8,864kB
  • -> Seq Scan on place_description_current_version_pointer cvp_1 (cost=0.00..2791.78 rows=145,478 width=16) (actual
5. 43.435 43.435 ↓ 1.0 145,400 1

Hash (cost=3,056.90..3,056.90 rows=145,190 width=24) (actual time=43.435..43.435 rows=145,400 loops=1)

  • Buckets: 262,144 Batches: 1 Memory Usage: 10,000kB
  • -> Seq Scan on place_description e_1 (cost=0.00..3056.90 rows=145,190 width=24) (actual time=0.007..18.227 rows=145,400
6. 0.007 198.521 ↑ 49.0 1 1

Hash (cost=25,593.28..25,593.28 rows=49 width=8) (actual time=198.521..198.521 rows=1 loops=1)

  • Buckets: 1,024 Batches: 1 Memory Usage: 9kB
7. 0.046 198.514 ↑ 49.0 1 1

Nested Loop (cost=22,237.74..25,593.28 rows=49 width=8) (actual time=184.328..198.514 rows=1 loops=1)

  • -> Index Only Scan using place_description_pkey on place_description e (cost=0.29..0.37 rows=1 width=8) (actual time=0
8. 24.500 198.468 ↑ 49.0 1 1

Hash Join (cost=22,237.45..25,575.26 rows=49 width=16) (actual time=184.283..198.468 rows=1 loops=1)

  • Hash Cond: (cvp.place_description_version_id = v.id)
  • -> Seq Scan on place_description_current_version_pointer cvp (cost=0.00..2791.78 rows=145,478 width=16) (actual t
  • Index Cond: (id = cvp.place_description_id)
  • Heap Fetches: 1
9. 0.000 173.968 ↑ 35.9 7 1

Hash (cost=22,234.31..22,234.31 rows=251 width=16) (actual time=173.968..173.968 rows=7 loops=1)

  • Buckets: 1,024 Batches: 1 Memory Usage: 9kB
10. 173.972 174.058 ↑ 35.9 7 1

Gather (cost=1,444.40..22,234.31 rows=251 width=16) (actual time=39.560..174.058 rows=7 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
  • -> Nested Loop (cost=444.40..21209.21 rows=105 width=16) (actual time=40.890..158.256 rows=2 loops=3
  • -> Hash Join (cost=444.11..21108.73 rows=314 width=24) (actual time=18.473..155.455 rows=3 loo
  • Hash Cond: (v.geocode_id = g.id)
  • -> Parallel Seq Scan on place_description_version v (cost=0.00..19843.60 rows=312,760 wid
  • -> Index Scan using brand_pkey on brand b (cost=0.29..0.32 rows=1 width=8) (actual time=0.930.
  • Index Cond: (id = v.brand_id)
  • Filter: (word_similarity('Papa John''s'::text, (name)::text) > '0.2'::double precision)
  • Rows Removed by Filter: 0
11. 0.086 0.086 ↑ 44.3 3 3 / 3

Hash (cost=442.45..442.45 rows=133 width=8) (actual time=0.086..0.086 rows=3 loops=3)

  • Buckets: 1,024 Batches: 1 Memory Usage: 9kB
  • -> Bitmap Heap Scan on geocode g (cost=9.31..442.45 rows=133 width=8) (actual time
  • Recheck Cond: ('(-324949.300761251, -5501673.91137599, 3212081.15234345),(-320
  • Heap Blocks: exact=3
12. 0.000 0.000 ↓ 0.0 / 3

Bitmap Index Scan on geocode_gist_ix1 (cost=0.00..9.28 rows=133 width=0) (actual rows= loops=)

  • Index Cond: ('(-324949.300761251, -5501673.91137599, 3212081.15234345),(