explain.depesz.com

PostgreSQL's explain analyze made readable

Result: bQMl

Settings
# exclusive inclusive rows x rows loops node
1. 0.367 5.093 ↓ 23.0 599 1

Nested Loop (cost=8.71..364.59 rows=26 width=1,207) (actual time=0.384..5.093 rows=599 loops=1)

2. 0.022 0.034 ↓ 5.7 34 1

Bitmap Heap Scan on zonings zs (cost=4.32..19.63 rows=6 width=89) (actual time=0.019..0.034 rows=34 loops=1)

  • Recheck Cond: (((data ->> 'ZoneID'::text))::bigint = 2)
  • Heap Blocks: exact=13
3. 0.012 0.012 ↓ 5.7 34 1

Bitmap Index Scan on ix_tmp_z (cost=0.00..4.32 rows=6 width=0) (actual time=0.012..0.012 rows=34 loops=1)

  • Index Cond: (((data ->> 'ZoneID'::text))::bigint = 2)
4. 4.420 4.692 ↓ 4.5 18 34

Bitmap Heap Scan on restaurants r (cost=4.39..57.35 rows=4 width=1,207) (actual time=0.073..0.138 rows=18 loops=34)

  • Recheck Cond: ((data ->> 'NeighborhoodID'::text) = (zs.data ->> 'NeighborhoodID'::text))
  • Filter: ((delivery_area IS NULL) AND ((data ->> 'Status'::text) <> 'DISABLED'::text) AND (_st_distance(geography(location), '0101000020E610000005A8A9656B7DC1BF98DD938785C24940'::geography, '0'::double precision, false) < ((((zs.data ->> 'DeliveryRangeM'::text))::integer + ((data ->> 'DeliveryRangeDeltaM'::text))::integer))::double precision))
  • Rows Removed by Filter: 21
  • Heap Blocks: exact=1281
5. 0.272 0.272 ↓ 3.0 39 34

Bitmap Index Scan on ix_tmp1 (cost=0.00..4.39 rows=13 width=0) (actual time=0.008..0.008 rows=39 loops=34)

  • Index Cond: ((data ->> 'NeighborhoodID'::text) = (zs.data ->> 'NeighborhoodID'::text))