explain.depesz.com

PostgreSQL's explain analyze made readable

Result: sQhH

Settings
# exclusive inclusive rows x rows loops node
1. 0.134 67,739.833 ↑ 1.0 500 1

Limit (cost=154,281.00..77,294,665.31 rows=500 width=1,632) (actual time=69.687..67,739.833 rows=500 loops=1)

  • Buffers: shared hit=619,817
2. 2.345 67,739.699 ↑ 1,065.6 500 1

Nested Loop Left Join (cost=154,281.00..82,201,564,924.16 rows=532,804 width=1,632) (actual time=69.685..67,739.699 rows=500 loops=1)

  • Buffers: shared hit=619,817
3. 0.354 0.354 ↑ 1,065.6 500 1

Seq Scan on t_person_dim pd (cost=0.00..15,016.04 rows=532,804 width=64) (actual time=0.018..0.354 rows=500 loops=1)

  • Buffers: shared hit=10
4. 64,593.000 67,737.000 ↑ 1.0 1 500

Aggregate (cost=154,281.00..154,281.01 rows=1 width=1,600) (actual time=135.474..135.474 rows=1 loops=500)

  • Buffers: shared hit=619,807
5. 3,144.000 3,144.000 ↓ 14.1 1,071 500

Index Scan using "mdl_engage_actions_table_p1_yaddr_v4$idx2" on mdl_engage_actions_table_p1_yaddr_v4 s (cost=0.67..2,214.38 rows=76 width=45) (actual time=0.105..6.288 rows=1,071 loops=500)

  • Index Cond: ((geog && _st_expand(pd.geog, '4000'::double precision)) AND (activity_date > (now() - '2 years'::interval)) AND (person_uuid <> pd.person_uuid))
  • Filter: st_dwithin(geog, pd.geog, '4000'::double precision, true)
  • Rows Removed by Filter: 502
  • Buffers: shared hit=619,447
Planning time : 4.662 ms
Execution time : 67,741.603 ms