explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 4FcQ

Settings
# exclusive inclusive rows x rows loops node
1. 0.054 48,126.889 ↑ 460.5 11 1

Sort (cost=258,857.93..258,870.59 rows=5,065 width=36) (actual time=48,126.882..48,126.889 rows=11 loops=1)

  • Output: n.id, n.event_time, n.name
  • Sort Key: n.event_time, n.name
  • Sort Method: quicksort Memory: 26kB
  • Buffers: shared hit=7312 read=12144 dirtied=36
2. 0.000 48,126.835 ↑ 460.5 11 1

Group (cost=257,213.78..258,546.27 rows=5,065 width=36) (actual time=48,126.381..48,126.835 rows=11 loops=1)

  • Output: n.id, n.event_time, n.name
  • Group Key: n.id
  • Buffers: shared hit=7312 read=12144 dirtied=36
3. 22.677 48,134.942 ↑ 920.9 11 1

Gather Merge (cost=257,213.78..258,520.94 rows=10,130 width=36) (actual time=48,126.376..48,134.942 rows=11 loops=1)

  • Output: n.id, n.event_time, n.name
  • Workers Planned: 2
  • Workers Launched: 2
  • Buffers: shared hit=26177 read=35206 dirtied=137
4. 0.238 48,112.265 ↑ 1,266.2 4 3 / 3

Group (cost=256,213.76..256,351.67 rows=5,065 width=36) (actual time=48,111.801..48,112.265 rows=4 loops=3)

  • Output: n.id, n.event_time, n.name
  • Group Key: n.id
  • Buffers: shared hit=26177 read=35206 dirtied=137
  • Worker 0: actual time=48105.694..48106.391 rows=7 loops=1
  • Buffers: shared hit=8136 read=11425 dirtied=62
  • Worker 1: actual time=48108.171..48108.658 rows=3 loops=1
  • Buffers: shared hit=10729 read=11637 dirtied=39
5. 1.297 48,112.027 ↑ 69.1 399 3 / 3

Sort (cost=256,213.76..256,282.71 rows=27,582 width=36) (actual time=48,111.797..48,112.027 rows=399 loops=3)

  • Output: n.id, n.event_time, n.name
  • Sort Key: n.id
  • Sort Method: quicksort Memory: 43kB
  • Buffers: shared hit=26177 read=35206 dirtied=137
  • Worker 0: actual time=48105.690..48106.035 rows=720 loops=1
  • Buffers: shared hit=8136 read=11425 dirtied=62
  • Worker 1: actual time=48108.166..48108.414 rows=350 loops=1
  • Buffers: shared hit=10729 read=11637 dirtied=39
6. 3.323 48,110.730 ↑ 69.1 399 3 / 3

Nested Loop (cost=0.97..254,179.39 rows=27,582 width=36) (actual time=33,096.623..48,110.730 rows=399 loops=3)

  • Output: n.id, n.event_time, n.name
  • Buffers: shared hit=26163 read=35206 dirtied=137
  • Worker 0: actual time=39815.028..48103.516 rows=720 loops=1
  • Buffers: shared hit=8129 read=11425 dirtied=62
  • Worker 1: actual time=41949.619..48107.414 rows=350 loops=1
  • Buffers: shared hit=10722 read=11637 dirtied=39
7. 3,163.296 3,163.296 ↑ 3.6 589 3 / 3

Parallel Index Scan using nodes_type_systid_state_maarid_idx on public.nodes n (cost=0.41..19,821.42 rows=2,110 width=36) (actual time=44.174..3,163.296 rows=589 loops=3)

  • Output: n.id, n.name, n.type, n.disp_order, n.node_id, n.state, n.man_state, n.maar_id, n.maar_root, n.syst_id, n.sys_ref, n.link_node_id, n.alse_id, n.event_time, n.man_event_time, n.start_time, n.close_time, n.ref1, n.ref2, n.ref3, n.ref4, n.ref5, n.active, n.source, n.deleted, n.modified, n.oca, n.npath, n.managed, n.blurb, n.node_level, n.attributes, n.created, n.priced, n.outright, n.cms_maar_id, n.competitor_a, n.competitor_b, n.server_id, n.market_server_group_id
  • Filter: ((n.event_time >= '2020-01-07 00:00:00+00'::timestamp with time zone) AND (n.event_time <= '2020-01-19 00:00:00+00'::timestamp with time zone))
  • Rows Removed by Filter: 3515
  • Buffers: shared hit=10695 read=2279
  • Worker 0: actual time=54.095..4433.903 rows=335 loops=1
  • Buffers: shared hit=4394 read=1071
  • Worker 1: actual time=59.139..4239.017 rows=931 loops=1
  • Buffers: shared hit=4614 read=1020
8. 44,944.111 44,944.111 ↑ 51.0 1 1,766 / 3

Index Scan using markets_node_id_idx on public.markets m (cost=0.56..110.56 rows=51 width=8) (actual time=73.931..76.349 rows=1 loops=1,766)

  • Output: m.id, m.name, m.sys_mrkt_name, m.disp_order, m.state, m.mrkt_type, m.node_id, m.prod_id, m.maar_id, m.syst_id, m.sys_ref, m.sys_mrkt_type, m.orig_mark_id, m.link_mark_id, m.auth_defb_id, m.alse_id, m.ref1, m.ref2, m.ref3, m.ref4, m.ref5, m.source, m.visible, m.published, m.bir, m.each_way_available, m.each_way_places, m.double_resulting, m.settled, m.result_confirmed, m.deleted, m.modified, m.oca, m.mpath, m.blurb, m.handicap, m.created, m.attributes, m.outright, m.algo_mrkt_key, m.last_bet_settled_time, m.prematch_event_result_state
  • Index Cond: (m.node_id = n.id)
  • Filter: (m.result_confirmed = '1'::numeric)
  • Rows Removed by Filter: 26
  • Buffers: shared hit=15468 read=32927 dirtied=137
  • Worker 0: actual time=122.178..130.348 rows=2 loops=335
  • Buffers: shared hit=3735 read=10354 dirtied=62
  • Worker 1: actual time=45.846..47.116 rows=0 loops=931
  • Buffers: shared hit=6108 read=10617 dirtied=39