explain.depesz.com

PostgreSQL's explain analyze made readable

Result: tnKe

Settings
# exclusive inclusive rows x rows loops node
1. 18.629 16,869.096 ↑ 5.8 6,925 1

Sort (cost=232,801.69..232,901.69 rows=40,000 width=2,784) (actual time=16,868.762..16,869.096 rows=6,925 loops=1)

  • Output: (CASE WHEN ((row_number() OVER (?)) = 1) THEN bets.id ELSE NULL::bigint END), (CASE WHEN ((row_number() OVER (?)) = 1) THEN bets.acco_id ELSE NULL::bigint END), (CASE WHEN ((row_number() OVER (?)) = 1) THEN a.username ELSE NULL::character varying END), (CASE WHEN ((row_number() OVER (?)) = 1) THEN bets.currency ELSE NULL::character varying END), (CASE WHEN ((row_number() OVER (?)) = 1) THEN bets.total_stake ELSE NULL::numeric END), (CASE WHEN ((row_number() OVER (?)) = 1) THEN bets.total_price ELSE NULL::numeric END), (CASE WHEN ((row_number() OVER (?)) = 1) THEN bets.winnings ELSE NULL::numeric END), (CASE WHEN ((row_number() OVER (?)) = 1) THEN bets.bet_type ELSE NULL::character varying END), (CASE WHEN ((row_number() OVER (?)) = 1) THEN bets.status ELSE NULL::character varying END), (CASE WHEN ((row_number() OVER (?)) = 1) THEN CASE WHEN (bets.payout > '0'::numeric) THEN true ELSE false END ELSE NULL::boolean END), (CASE WHEN ((row_number() OVER (?)) = 1) THEN timezone('GMT'::text, bets.placed_time) ELSE NULL::timestamp without time zone END), (CASE WHEN ((row_number() OVER (?)) = 1) THEN timezone('GMT'::text, bets.settlement_time) ELSE NULL::timestamp without time zone END), (CASE WHEN ((row_number() OVER (?)) = 1) THEN bets.bets_id ELSE NULL::bigint END), (CASE WHEN ((row_number() OVER (?)) = 1) THEN bets.payout ELSE NULL::numeric END), (CASE WHEN ((row_number() OVER (?))
  • = 1) THEN bets.bonus_stake ELSE NULL::numeric END), (CASE WHEN ((row_number() OVER (?)) = 1) THEN bets.bonus_deposit_stake ELSE NULL::numeric END), (CASE WHEN ((row_number() OVER (?)) = 1) THEN bets.bonus_winning_stake ELSE NULL::numeric END), (CASE WHEN ((row_number() OVER (?)) = 1) THEN bets.bonus_funds_stake ELSE NULL::numeric END), (CASE WHEN ((row_number() OVER (?)) = 1) THEN cs.segments ELSE NULL::text END), (CASE WHEN ((row_number() OVER (?)) = 1) THEN replace(split_part(split_part((bets.reference)::text, ';'::text, 2), '='::text, 2), 'NORMAL'::text, 'DESKTOP'::text) ELSE NULL::text END), (row_number() OVER (?)), bet_parts.sport, bet_parts.comp, bet_parts.event, (timezone('GMT'::text, bet_parts.event_time)), bet_parts.market, bet_parts.selection, bet_parts.node_id, bet_parts.comp_id, bet_parts.sprt_id, bet_parts.market_id, bet_parts.instrument_id, bet_parts.mrkt_type, bet_parts.mrkt_sub_type, bet_parts.selection_type, bet_parts.score_a, bet_parts.score_b, bets.id
  • Sort Key: bets.id, (row_number() OVER (?))
  • Sort Method: quicksort Memory: 3,143kB
  • time zone END, CASE WHEN ((row_number() OVER (?)) = 1) THEN bets.bets_id ELSE NULL::bigint END, CASE WHEN ((row_number() OVER (?)) = 1) THEN bets.payout ELSE NULL::numeric END, CASE WHEN ((row_number() OVER (?)) = 1) THEN bets.bonus_stake ELSE NULL::numeric END, CASE WHEN ((row_number() OVER (?)) = 1) THEN bets.bonus_deposit_stake ELSE NULL::numeric END, CASE WHEN ((row_number() OVER (?)) = 1) THEN bets.bonus_winning_stake ELSE NULL::numeric END, CASE WHEN ((row_number() OVER (?)) = 1) THEN bets.bonus_funds_stake ELSE NULL::numeric END, CASE WHEN ((row_number() OVER (?)) = 1) THEN cs.segments ELSE NULL::text END, CASE WHEN ((row_number() OVER (?)) = 1) THEN replace(split_part(split_part((bets.reference)::text, ';'::text, 2), '='::text, 2), 'NORMAL'::text, 'DESKTOP'::text) ELSE NULL::text END, (row_number() OVER (?)), bet_parts.sport, bet_parts.comp, bet_parts.event, timezone('GMT'::text, bet_parts.event_time), bet_parts.market, bet_parts.selection, bet_parts.node_id, bet_parts.comp_id, bet_parts.sprt_id, bet_parts.market_id, bet_parts.instrument_id, bet_parts.mrkt_type, bet_parts.mrkt_sub_type, bet_parts.selection_type, bet_parts.score_a, bet_parts.score_b, bets.id
  • varying(10), NULL::smallint, NULL::character varying(10), NULL::numeric, NULL::numeric, NULL::numeric, NULL::numeric, NULL::character varying(200), NULL::numeric(1,0), NULL::bigint, NULL::numeric(1,0), NULL::numeric(10,6), NULL::numeric(10,2), bet_parts.score_a, bet_parts.score_b, NULL::smallint, bet_parts.mrkt_sub_type, NULL::character varying(100), NULL::numeric, NULL::boolean, NULL::integer, NULL::character varying(20), NULL::smallint, NULL::numeric(10,6), NULL::character varying(100), NULL::character varying(10), NULL::bigint, NULL::bigint, NULL::boolean, NULL::numeric(7,3), NULL::character varying(10), NULL::numeric(1,0), NULL::boolean, NULL::character varying(10), NULL::bigint, NULL::smallint, NULL::json, NULL::numeric(7,3), NULL::bigint, NULL::numeric(3,1), NULL::character varying(36), NULL::character varying(250), NULL::character varying(150), NULL::character varying(2000), row_number() OVER (?)
  • bet_parts.comp, bet_parts.event, bet_parts.market, bet_parts.placed_time, bet_parts.mrkt_type, bet_parts.score_a, bet_parts.score_b, bet_parts.mrkt_sub_type
2. 30.109 16,850.467 ↑ 5.8 6,925 1

Nested Loop Left Join (cost=735.49..192,038.90 rows=40,000 width=2,784) (actual time=876.744..16,850.467 rows=6,925 loops=1)

  • Output: CASE WHEN ((row_number() OVER (?)) = 1) THEN bets.id ELSE NULL::bigint END, CASE WHEN ((row_number() OVER (?)) = 1) THEN bets.acco_id ELSE NULL::bigint END, CASE WHEN ((row_number() OVER (?)) = 1) THEN a.username ELSE NULL::character varying END, CASE WHEN ((row_number() OVER (?)) = 1) THEN bets.currency ELSE NULL::character varying END, CASE WHEN ((row_number() OVER (?)) = 1) THEN bets.total_stake ELSE NULL::numeric END, CASE WHEN ((row_number() OVER (?)) = 1) THEN bets.total_price ELSE NULL::numeric END, CASE WHEN ((row_number() OVER (?)) = 1) THEN bets.winnings ELSE NULL::numeric END, CASE WHEN ((row_number() OVER (?)) = 1) THEN bets.bet_type ELSE NULL::character varying END, CASE WHEN ((row_number() OVER (?)) = 1) THEN bets.status ELSE NULL::character varying END, CASE WHEN ((row_number() OVER (?)) = 1) THEN CASE WHEN (bets.payout > '0'::numeric) THEN true ELSE false END ELSE NULL::boolean END, CASE WHEN ((row_number() OVER (?)) = 1) THEN timezone('GMT'::text, bets.placed_time) ELSE NULL::timestamp without time zone END, CASE WHEN ((row_number() OVER (?)) = 1) THEN timezone('GMT'::text, bets.settlement_time) ELSE NULL::timestamp without
3. 4.250 16,502.262 ↓ 14.6 4,418 1

Nested Loop Left Join (cost=375.00..78,613.40 rows=303 width=619) (actual time=876.509..16,502.262 rows=4,418 loops=1)

  • Output: bets.id, bets.acco_id, bets.currency, bets.total_stake, bets.total_price, bets.winnings, bets.bet_type, bets.status, bets.payout, bets.placed_time, bets.settlement_time, bets.bets_id, bets.bonus_stake, bets.bonus_deposit_stake, bets.bonus_winning_stake, bets.bonus_funds_stake, bets.reference, a.username, cs.segments
  • Inner Unique: true
4. 7.652 898.054 ↓ 14.6 4,418 1

Hash Join (cost=117.73..649.99 rows=303 width=587) (actual time=874.067..898.054 rows=4,418 loops=1)

  • Output: bets.id, bets.acco_id, bets.currency, bets.total_stake, bets.total_price, bets.winnings, bets.bet_type, bets.status, bets.payout, bets.placed_time, bets.settlement_time, bets.bets_id, bets.bonus_stake, bets.bonus_deposit_stake, bets.bonus_winning_stake, bets.bonus_funds_stake, bets.reference, a.username
  • Hash Cond: (bets.acco_id = a.id)
5. 0.889 16.358 ↓ 13.3 4,418 1

Append (cost=0.00..527.97 rows=333 width=170) (actual time=0.014..16.358 rows=4,418 loops=1)

6. 0.002 0.002 ↓ 0.0 0 1

Seq Scan on public.bets (cost=0.00..0.00 rows=1 width=824) (actual time=0.002..0.002 rows=0 loops=1)

  • Output: bets.id, bets.acco_id, bets.currency, bets.total_stake, bets.total_price, bets.winnings, bets.bet_type, bets.status, bets.payout, bets.placed_time, bets.settlement_time, bets.bets_id, bets.bonus_stake, bets.bonus_deposit_stake, bets.bonus_winning_stake, bets.bonus_funds_stake, bets.reference
  • Filter: ((bets.placed_time >= '2020-07-27 01:00:00+01'::timestamp with time zone) AND (bets.placed_time <= '2020-07-28 00:59:59+01'::timestamp with time zone) AND (bets.system_bet = '0'::numeric))
7. 2.464 2.464 ↓ 154.6 773 1

Index Scan using bets_accepted_placed_time_status_idx on public.bets_accepted (cost=0.28..13.61 rows=5 width=169) (actual time=0.012..2.464 rows=773 loops=1)

  • Output: bets_accepted.id, bets_accepted.acco_id, bets_accepted.currency, bets_accepted.total_stake, bets_accepted.total_price, bets_accepted.winnings, bets_accepted.bet_type, bets_accepted.status, bets_accepted.payout, bets_accepted.placed_time, bets_accepted.settlement_time, bets_accepted.bets_id, bets_accepted.bonus_stake, bets_accepted.bonus_deposit_stake, bets_accepted.bonus_winning_stake, bets_accepted.bonus_funds_stake, bets_accepted.reference
  • Index Cond: ((bets_accepted.placed_time >= '2020-07-27 01:00:00+01'::timestamp with time zone) AND (bets_accepted.placed_time <= '2020-07-28 00:59:59+01'::timestamp with time zone))
  • Filter: (bets_accepted.system_bet = '0'::numeric)
  • Rows Removed by Filter: 30
8. 0.003 0.003 ↓ 0.0 0 1

Index Scan using bets_default_placed_time_idx on public.bets_default (cost=0.14..5.16 rows=1 width=824) (actual time=0.003..0.003 rows=0 loops=1)

  • Output: bets_default.id, bets_default.acco_id, bets_default.currency, bets_default.total_stake, bets_default.total_price, bets_default.winnings, bets_default.bet_type, bets_default.status, bets_default.payout, bets_default.placed_time, bets_default.settlement_time, bets_default.bets_id, bets_default.bonus_stake, bets_default.bonus_deposit_stake, bets_default.bonus_winning_stake, bets_default.bonus_funds_stake, bets_default.reference
  • Index Cond: ((bets_default.placed_time >= '2020-07-27 01:00:00+01'::timestamp with time zone) AND (bets_default.placed_time <= '2020-07-28 00:59:59+01'::timestamp with time zone))
  • Filter: (bets_default.system_bet = '0'::numeric)
9. 13.000 13.000 ↓ 11.2 3,645 1

Index Scan using bets_202007_placed_time_acco_id_partition_no_idx on public.bets_202007 (cost=0.42..509.20 rows=326 width=166) (actual time=0.017..13.000 rows=3,645 loops=1)

  • Output: bets_202007.id, bets_202007.acco_id, bets_202007.currency, bets_202007.total_stake, bets_202007.total_price, bets_202007.winnings, bets_202007.bet_type, bets_202007.status, bets_202007.payout, bets_202007.placed_time, bets_202007.settlement_time, bets_202007.bets_id, bets_202007.bonus_stake, bets_202007.bonus_deposit_stake, bets_202007.bonus_winning_stake, bets_202007.bonus_funds_stake, bets_202007.reference
  • Index Cond: ((bets_202007.placed_time >= '2020-07-27 01:00:00+01'::timestamp with time zone) AND (bets_202007.placed_time <= '2020-07-28 00:59:59+01'::timestamp with time zone))
  • Filter: (bets_202007.system_bet = '0'::numeric)
  • Rows Removed by Filter: 16
10. 16.492 874.044 ↓ 377.5 68,705 1

Hash (cost=115.46..115.46 rows=182 width=426) (actual time=874.044..874.044 rows=68,705 loops=1)

  • Output: a.username, a.id
  • Buckets: 131,072 (originally 1024) Batches: 1 (originally 1) Memory Usage: 5,335kB
11. 857.552 857.552 ↓ 377.5 68,705 1

Foreign Scan on ats.accounts a (cost=100.00..115.46 rows=182 width=426) (actual time=2.484..857.552 rows=68,705 loops=1)

  • Output: a.username, a.id
  • Remote SQL: SELECT id, username FROM public.accounts
12. 4.418 15,599.958 ↑ 1.0 1 4,418

Subquery Scan on cs (cost=257.27..257.29 rows=1 width=40) (actual time=3.531..3.531 rows=1 loops=4,418)

  • Output: cs.acco_id, cs.segments
  • Filter: (bets.acco_id = cs.acco_id)
13. 4,868.636 15,595.540 ↑ 1.0 1 4,418

Aggregate (cost=257.27..257.28 rows=1 width=40) (actual time=3.530..3.530 rows=1 loops=4,418)

  • Output: bets.acco_id, array_to_string(array_agg(DISTINCT (((cs_1.data)::jsonb -> 'CustomerSegment'::text) ->> 'name'::text)), ' | '::text)
14. 10,726.904 10,726.904 ↑ 89.0 1 4,418

Foreign Scan (cost=100.00..256.15 rows=89 width=32) (actual time=2.427..2.428 rows=1 loops=4,418)

  • Output: cs_1.data
  • Relations: (ats.account_segments acs) INNER JOIN (ats.customer_segments cs)
  • Remote SQL: SELECT r2.data FROM (public.account_segments r1 INNER JOIN public.customer_segments r2 ON (((r1.customer_segments_id = r2.id)) AND ((r1.accounts_id = $1::bigint))))
15. 26.508 318.096 ↑ 66.0 2 4,418

WindowAgg (cost=360.48..362.79 rows=132 width=5,942) (actual time=0.071..0.072 rows=2 loops=4,418)

  • Output: NULL::bigint, NULL::numeric(1,0), NULL::smallint, NULL::timestamp with time zone, NULL::bigint, NULL::character varying(20), NULL::character varying(20), NULL::character varying(10), NULL::numeric(7,3), NULL::character varying(10), bet_parts.instrument_id, NULL::character varying(10), bet_parts.selection_type, NULL::double precision, NULL::numeric(10,2), bet_parts.selection, bet_parts.market_id, bet_parts.node_id, NULL::integer, bet_parts.event_time, bet_parts.sprt_id, NULL::bigint, bet_parts.comp_id, bet_parts.sport, NULL::character varying(150), bet_parts.comp, bet_parts.event, bet_parts.market, NULL::numeric(1,0), NULL::timestamp with time zone, NULL::bigint, NULL::timestamp with time zone, bet_parts.placed_time, NULL::numeric(10,6), NULL::character varying(3), bet_parts.mrkt_type, NULL::smallint, NULL::smallint, NULL::numeric(10,6), NULL::numeric(10,6), NULL::smallint, NULL::smallint, NULL::character
16. 22.090 291.588 ↑ 66.0 2 4,418

Sort (cost=360.48..360.81 rows=132 width=2,287) (actual time=0.066..0.066 rows=2 loops=4,418)

  • Output: bet_parts.placed_time, bet_parts.instrument_id, bet_parts.selection_type, bet_parts.selection, bet_parts.market_id, bet_parts.node_id, bet_parts.event_time, bet_parts.sprt_id, bet_parts.comp_id, bet_parts.sport, bet_parts.comp, bet_parts.event, bet_parts.market, bet_parts.mrkt_type, bet_parts.score_a, bet_parts.score_b, bet_parts.mrkt_sub_type
  • Sort Key: bet_parts.placed_time
  • Sort Method: quicksort Memory: 27kB
17. 8.836 269.498 ↑ 66.0 2 4,418

Result (cost=0.00..355.83 rows=132 width=2,287) (actual time=0.055..0.061 rows=2 loops=4,418)

  • Output: bet_parts.placed_time, bet_parts.instrument_id, bet_parts.selection_type, bet_parts.selection, bet_parts.market_id, bet_parts.node_id, bet_parts.event_time, bet_parts.sprt_id, bet_parts.comp_id, bet_parts.sport, bet_parts.comp, bet_parts.event, bet_parts.market, bet_parts.mrkt_type, bet_parts.score_a, bet_parts.score_b, bet_parts.mrkt_sub_type
18. 61.852 260.662 ↑ 66.0 2 4,418

Append (cost=0.00..354.51 rows=132 width=2,287) (actual time=0.053..0.059 rows=2 loops=4,418)

19. 0.000 0.000 ↓ 0.0 0 4,418

Seq Scan on public.bet_parts (cost=0.00..0.00 rows=1 width=2,406) (actual time=0.000..0.000 rows=0 loops=4,418)

  • Output: bet_parts.instrument_id, bet_parts.selection_type, bet_parts.selection, bet_parts.market_id, bet_parts.node_id, bet_parts.event_time, bet_parts.sprt_id, bet_parts.comp_id, bet_parts.sport,
  • Filter: (bet_parts.bet_id = bets.id)
20. 13.254 13.254 ↓ 0.0 0 4,418

Index Scan using bet_parts_201901_bet_id_result_type_id_placed_time_idx on public.bet_parts_201901 (cost=0.14..5.15 rows=1 width=2,406) (actual time=0.003..0.003 rows=0 loops=4,418)

  • Output: bet_parts_201901.instrument_id, bet_parts_201901.selection_type, bet_parts_201901.selection, bet_parts_201901.market_id, bet_parts_201901.node_id, bet_parts_201901.event_time, bet_parts_201901.sprt_id, bet_parts_201901.comp_id, bet_parts_201901.sport, bet_parts_201901.comp, bet_parts_201901.event, bet_parts_201901.market, bet_parts_201901.placed_time, bet_parts_201901.mrkt_type, bet_parts_201901.score_a, bet_parts_201901.score_b, bet_parts_201901.mrkt_sub_type
  • Index Cond: (bet_parts_201901.bet_id = bets.id)
21. 4.418 4.418 ↓ 0.0 0 4,418

Index Scan using bet_parts_201902_bet_id_result_type_id_placed_time_idx on public.bet_parts_201902 (cost=0.14..5.15 rows=1 width=2,406) (actual time=0.001..0.001 rows=0 loops=4,418)

  • Output: bet_parts_201902.instrument_id, bet_parts_201902.selection_type, bet_parts_201902.selection, bet_parts_201902.market_id, bet_parts_201902.node_id, bet_parts_201902.event_time, bet_parts_201902.sprt_id, bet_parts_201902.comp_id, bet_parts_201902.sport, bet_parts_201902.comp, bet_parts_201902.event, bet_parts_201902.market, bet_parts_201902.placed_time, bet_parts_201902.mrkt_type, bet_parts_201902.score_a, bet_parts_201902.score_b, bet_parts_201902.mrkt_sub_type
  • Index Cond: (bet_parts_201902.bet_id = bets.id)
22. 4.418 4.418 ↓ 0.0 0 4,418

Index Scan using bet_parts_201903_bet_id_result_type_id_placed_time_idx on public.bet_parts_201903 (cost=0.14..5.15 rows=1 width=2,406) (actual time=0.001..0.001 rows=0 loops=4,418)

  • Output: bet_parts_201903.instrument_id, bet_parts_201903.selection_type, bet_parts_201903.selection, bet_parts_201903.market_id, bet_parts_201903.node_id, bet_parts_201903.event_time, bet_parts_201903.sprt_id, bet_parts_201903.comp_id, bet_parts_201903.sport, bet_parts_201903.comp, bet_parts_201903.event, bet_parts_201903.market, bet_parts_201903.placed_time, bet_parts_201903.mrkt_type, bet_parts_201903.score_a, bet_parts_201903.score_b, bet_parts_201903.mrkt_sub_type
  • Index Cond: (bet_parts_201903.bet_id = bets.id)
23. 4.418 4.418 ↓ 0.0 0 4,418

Index Scan using bet_parts_201904_bet_id_result_type_id_placed_time_idx on public.bet_parts_201904 (cost=0.14..5.15 rows=1 width=2,406) (actual time=0.001..0.001 rows=0 loops=4,418)

  • Output: bet_parts_201904.instrument_id, bet_parts_201904.selection_type, bet_parts_201904.selection, bet_parts_201904.market_id, bet_parts_201904.node_id, bet_parts_201904.event_time, bet_parts_201904.sprt_id, bet_parts_201904.comp_id, bet_parts_201904.sport, bet_parts_201904.comp, bet_parts_201904.event, bet_parts_201904.market, bet_parts_201904.placed_time, bet_parts_201904.mrkt_type, bet_parts_201904.score_a, bet_parts_201904.score_b, bet_parts_201904.mrkt_sub_type
  • Index Cond: (bet_parts_201904.bet_id = bets.id)
24. 4.418 4.418 ↓ 0.0 0 4,418

Index Scan using bet_parts_201905_bet_id_result_type_id_placed_time_idx on public.bet_parts_201905 (cost=0.14..5.15 rows=1 width=2,406) (actual time=0.001..0.001 rows=0 loops=4,418)

  • Output: bet_parts_201905.instrument_id, bet_parts_201905.selection_type, bet_parts_201905.selection, bet_parts_201905.market_id, bet_parts_201905.node_id, bet_parts_201905.event_time, bet_parts_201905.sprt_id, bet_parts_201905.comp_id, bet_parts_201905.sport, bet_parts_201905.comp, bet_parts_201905.event, bet_parts_201905.market, bet_parts_201905.placed_time, bet_parts_201905.mrkt_type, bet_parts_201905.score_a, bet_parts_201905.score_b, bet_parts_201905.mrkt_sub_type
  • Index Cond: (bet_parts_201905.bet_id = bets.id)
25. 4.418 4.418 ↓ 0.0 0 4,418

Index Scan using bet_parts_201906_bet_id_result_type_id_placed_time_idx on public.bet_parts_201906 (cost=0.14..5.15 rows=1 width=2,406) (actual time=0.001..0.001 rows=0 loops=4,418)

  • Output: bet_parts_201906.instrument_id, bet_parts_201906.selection_type, bet_parts_201906.selection, bet_parts_201906.market_id, bet_parts_201906.node_id, bet_parts_201906.event_time, bet_parts_201906.sprt_id, bet_parts_201906.comp_id, bet_parts_201906.sport, bet_parts_201906.comp, bet_parts_201906.event, bet_parts_201906.market, bet_parts_201906.placed_time, bet_parts_201906.mrkt_type, bet_parts_201906.score_a, bet_parts_201906.score_b, bet_parts_201906.mrkt_sub_type
  • Index Cond: (bet_parts_201906.bet_id = bets.id)
26. 4.418 4.418 ↓ 0.0 0 4,418

Index Scan using bet_parts_201907_bet_id_result_type_id_placed_time_idx on public.bet_parts_201907 (cost=0.14..5.15 rows=1 width=2,406) (actual time=0.001..0.001 rows=0 loops=4,418)

  • Output: bet_parts_201907.instrument_id, bet_parts_201907.selection_type, bet_parts_201907.selection, bet_parts_201907.market_id, bet_parts_201907.node_id, bet_parts_201907.event_time, bet_parts_201907.sprt_id, bet_parts_201907.comp_id, bet_parts_201907.sport, bet_parts_201907.comp, bet_parts_201907.event, bet_parts_201907.market, bet_parts_201907.placed_time, bet_parts_201907.mrkt_type, bet_parts_201907.score_a, bet_parts_201907.score_b, bet_parts_201907.mrkt_sub_type
  • Index Cond: (bet_parts_201907.bet_id = bets.id)
27. 4.418 4.418 ↓ 0.0 0 4,418

Index Scan using bet_parts_201908_bet_id_result_type_id_placed_time_idx on public.bet_parts_201908 (cost=0.14..5.15 rows=1 width=2,406) (actual time=0.001..0.001 rows=0 loops=4,418)

  • Output: bet_parts_201908.instrument_id, bet_parts_201908.selection_type, bet_parts_201908.selection, bet_parts_201908.market_id, bet_parts_201908.node_id, bet_parts_201908.event_time, bet_parts_201908.sprt_id, bet_parts_201908.comp_id, bet_parts_201908.sport, bet_parts_201908.comp, bet_parts_201908.event, bet_parts_201908.market, bet_parts_201908.placed_time, bet_parts_201908.mrkt_type, bet_parts_201908.score_a, bet_parts_201908.score_b, bet_parts_201908.mrkt_sub_type
  • Index Cond: (bet_parts_201908.bet_id = bets.id)
28. 8.836 8.836 ↓ 0.0 0 4,418

Index Scan using bet_parts_201909_bet_id_result_type_id_placed_time_idx on public.bet_parts_201909 (cost=0.14..5.15 rows=1 width=2,406) (actual time=0.002..0.002 rows=0 loops=4,418)

  • Output: bet_parts_201909.instrument_id, bet_parts_201909.selection_type, bet_parts_201909.selection, bet_parts_201909.market_id, bet_parts_201909.node_id, bet_parts_201909.event_time, bet_parts_201909.sprt_id, bet_parts_201909.comp_id, bet_parts_201909.sport, bet_parts_201909.comp, bet_parts_201909.event, bet_parts_201909.market, bet_parts_201909.placed_time, bet_parts_201909.mrkt_type, bet_parts_201909.score_a, bet_parts_201909.score_b, bet_parts_201909.mrkt_sub_type
  • Index Cond: (bet_parts_201909.bet_id = bets.id)
29. 4.418 13.254 ↓ 0.0 0 4,418

Bitmap Heap Scan on public.bet_parts_201910 (cost=2.79..7.54 rows=2 width=2,406) (actual time=0.003..0.003 rows=0 loops=4,418)

  • Output: bet_parts_201910.instrument_id, bet_parts_201910.selection_type, bet_parts_201910.selection, bet_parts_201910.market_id, bet_parts_201910.node_id, bet_parts_201910.event_time, bet_parts_201910.sprt_id, bet_parts_201910.comp_id, bet_parts_201910.sport, bet_parts_201910.comp, bet_parts_201910.event, bet_parts_201910.market, bet_parts_201910.placed_time, bet_parts_201910.mrkt_type, bet_parts_201910.score_a, bet_parts_201910.score_b, bet_parts_201910.mrkt_sub_type
  • Recheck Cond: (bet_parts_201910.bet_id = bets.id)
30. 8.836 8.836 ↓ 0.0 0 4,418

Bitmap Index Scan on bet_parts_201910_bet_id_result_type_id_placed_time_idx (cost=0.00..2.79 rows=2 width=0) (actual time=0.002..0.002 rows=0 loops=4,418)

  • Index Cond: (bet_parts_201910.bet_id = bets.id)
31. 0.000 8.836 ↓ 0.0 0 4,418

Bitmap Heap Scan on public.bet_parts_201911 (cost=2.80..9.32 rows=3 width=2,406) (actual time=0.002..0.002 rows=0 loops=4,418)

  • Output: bet_parts_201911.instrument_id, bet_parts_201911.selection_type, bet_parts_201911.selection, bet_parts_201911.market_id, bet_parts_201911.node_id, bet_parts_201911.event_time, bet_parts_201911.sprt_id, bet_parts_201911.comp_id, bet_parts_201911.sport, bet_parts_201911.comp, bet_parts_201911.event, bet_parts_201911.market, bet_parts_201911.placed_time, bet_parts_201911.mrkt_type, bet_parts_201911.score_a, bet_parts_201911.score_b, bet_parts_201911.mrkt_sub_type
  • Recheck Cond: (bet_parts_201911.bet_id = bets.id)
32. 8.836 8.836 ↓ 0.0 0 4,418

Bitmap Index Scan on bet_parts_201911_bet_id_result_type_id_placed_time_idx (cost=0.00..2.80 rows=3 width=0) (actual time=0.002..0.002 rows=0 loops=4,418)

  • Index Cond: (bet_parts_201911.bet_id = bets.id)
33. 8.836 8.836 ↓ 0.0 0 4,418

Index Scan using bet_parts_201912_bet_id_result_type_id_placed_time_idx on public.bet_parts_201912 (cost=0.42..5.44 rows=1 width=178) (actual time=0.002..0.002 rows=0 loops=4,418)

  • Output: bet_parts_201912.instrument_id, bet_parts_201912.selection_type, bet_parts_201912.selection, bet_parts_201912.market_id, bet_parts_201912.node_id, bet_parts_201912.event_time, bet_parts_201912.sprt_id, bet_parts_201912.comp_id, bet_parts_201912.sport, bet_parts_201912.comp, bet_parts_201912.event, bet_parts_201912.market, bet_parts_201912.placed_time, bet_parts_201912.mrkt_type, bet_parts_201912.score_a, bet_parts_201912.score_b, bet_parts_201912.mrkt_sub_type
  • Index Cond: (bet_parts_201912.bet_id = bets.id)
34. 4.418 4.418 ↓ 0.0 0 4,418

Index Scan using bet_parts_default_bet_id_result_type_id_placed_time_idx on public.bet_parts_default (cost=0.14..5.15 rows=1 width=2,406) (actual time=0.001..0.001 rows=0 loops=4,418)

  • Output: bet_parts_default.instrument_id, bet_parts_default.selection_type, bet_parts_default.selection, bet_parts_default.market_id, bet_parts_default.node_id, bet_parts_default.event_time, bet_parts_default.sprt_id, bet_parts_default.comp_id, bet_parts_default.sport, bet_parts_default.comp, bet_parts_default.event, bet_parts_default.market, bet_parts_default.placed_time, bet_parts_default.mrkt_type, bet_parts_default.score_a, bet_parts_default.score_b, bet_parts_default.mrkt_sub_type
  • Index Cond: (bet_parts_default.bet_id = bets.id)
35. 0.000 8.836 ↓ 0.0 0 4,418

Bitmap Heap Scan on public.bet_parts_202001 (cost=2.90..38.18 rows=16 width=2,406) (actual time=0.002..0.002 rows=0 loops=4,418)

  • Output: bet_parts_202001.instrument_id, bet_parts_202001.selection_type, bet_parts_202001.selection, bet_parts_202001.market_id, bet_parts_202001.node_id, bet_parts_202001.event_time, bet_parts_202001.sprt_id, bet_parts_202001.comp_id, bet_parts_202001.sport, bet_parts_202001.comp, bet_parts_202001.event, bet_parts_202001.market, bet_parts_202001.placed_time, bet_parts_202001.mrkt_type, bet_parts_202001.score_a, bet_parts_202001.score_b, bet_parts_202001.mrkt_sub_type
  • Recheck Cond: (bet_parts_202001.bet_id = bets.id)
36. 8.836 8.836 ↓ 0.0 0 4,418

Bitmap Index Scan on bet_parts_202001_bet_id_result_type_id_placed_time_idx (cost=0.00..2.90 rows=16 width=0) (actual time=0.002..0.002 rows=0 loops=4,418)

  • Index Cond: (bet_parts_202001.bet_id = bets.id)
37. 4.418 8.836 ↓ 0.0 0 4,418

Bitmap Heap Scan on public.bet_parts_202002 (cost=2.95..48.26 rows=21 width=2,406) (actual time=0.002..0.002 rows=0 loops=4,418)

  • Output: bet_parts_202002.instrument_id, bet_parts_202002.selection_type, bet_parts_202002.selection, bet_parts_202002.market_id, bet_parts_202002.node_id, bet_parts_202002.event_time, bet_parts_202002.sprt_id, bet_parts_202002.comp_id, bet_parts_202002.sport, bet_parts_202002.comp, bet_parts_202002.event, bet_parts_202002.market, bet_parts_202002.placed_time, bet_parts_202002.mrkt_type, bet_parts_202002.score_a, bet_parts_202002.score_b, bet_parts_202002.mrkt_sub_type
  • Recheck Cond: (bet_parts_202002.bet_id = bets.id)
38. 4.418 4.418 ↓ 0.0 0 4,418

Bitmap Index Scan on bet_parts_202002_bet_id_result_type_id_placed_time_idx (cost=0.00..2.94 rows=21 width=0) (actual time=0.001..0.001 rows=0 loops=4,418)

  • Index Cond: (bet_parts_202002.bet_id = bets.id)
39. 0.000 8.836 ↓ 0.0 0 4,418

Bitmap Heap Scan on public.bet_parts_202003 (cost=3.02..67.07 rows=30 width=2,406) (actual time=0.002..0.002 rows=0 loops=4,418)

  • Output: bet_parts_202003.instrument_id, bet_parts_202003.selection_type, bet_parts_202003.selection, bet_parts_202003.market_id, bet_parts_202003.node_id, bet_parts_202003.event_time, bet_parts_202003.sprt_id, bet_parts_202003.comp_id, bet_parts_202003.sport, bet_parts_202003.comp, bet_parts_202003.event, bet_parts_202003.market, bet_parts_202003.placed_time, bet_parts_202003.mrkt_type, bet_parts_202003.score_a, bet_parts_202003.score_b, bet_parts_202003.mrkt_sub_type
  • Recheck Cond: (bet_parts_202003.bet_id = bets.id)
40. 8.836 8.836 ↓ 0.0 0 4,418

Bitmap Index Scan on bet_parts_202003_bet_id_result_type_id_placed_time_idx (cost=0.00..3.01 rows=30 width=0) (actual time=0.002..0.002 rows=0 loops=4,418)

  • Index Cond: (bet_parts_202003.bet_id = bets.id)
41. 0.000 8.836 ↓ 0.0 0 4,418

Bitmap Heap Scan on public.bet_parts_202004 (cost=3.07..83.97 rows=37 width=2,406) (actual time=0.002..0.002 rows=0 loops=4,418)

  • Output: bet_parts_202004.instrument_id, bet_parts_202004.selection_type, bet_parts_202004.selection, bet_parts_202004.market_id, bet_parts_202004.node_id, bet_parts_202004.event_time, bet_parts_202004.sprt_id, bet_parts_202004.comp_id, bet_parts_202004.sport, bet_parts_202004.comp, bet_parts_202004.event, bet_parts_202004.market, bet_parts_202004.placed_time, bet_parts_202004.mrkt_type, bet_parts_202004.score_a, bet_parts_202004.score_b, bet_parts_202004.mrkt_sub_type
  • Recheck Cond: (bet_parts_202004.bet_id = bets.id)
42. 8.836 8.836 ↓ 0.0 0 4,418

Bitmap Index Scan on bet_parts_202004_bet_id_result_type_id_placed_time_idx (cost=0.00..3.06 rows=37 width=0) (actual time=0.002..0.002 rows=0 loops=4,418)

  • Index Cond: (bet_parts_202004.bet_id = bets.id)
43. 8.836 8.836 ↓ 0.0 0 4,418

Index Scan using bet_parts_202005_bet_id_result_type_id_placed_time_idx on public.bet_parts_202005 (cost=0.29..5.30 rows=1 width=177) (actual time=0.002..0.002 rows=0 loops=4,418)

  • Output: bet_parts_202005.instrument_id, bet_parts_202005.selection_type, bet_parts_202005.selection, bet_parts_202005.market_id, bet_parts_202005.node_id, bet_parts_202005.event_time, bet_parts_202005.sprt_id, bet_parts_202005.comp_id, bet_parts_202005.sport, bet_parts_202005.comp, bet_parts_202005.event, bet_parts_202005.market, bet_parts_202005.placed_time, bet_parts_202005.mrkt_type, bet_parts_202005.score_a, bet_parts_202005.score_b, bet_parts_202005.mrkt_sub_type
  • Index Cond: (bet_parts_202005.bet_id = bets.id)
44. 8.836 8.836 ↓ 0.0 0 4,418

Index Scan using bet_parts_202006_bet_id_idx on public.bet_parts_202006 (cost=0.29..5.33 rows=2 width=167) (actual time=0.002..0.002 rows=0 loops=4,418)

  • Output: bet_parts_202006.instrument_id, bet_parts_202006.selection_type, bet_parts_202006.selection, bet_parts_202006.market_id, bet_parts_202006.node_id, bet_parts_202006.event_time, bet_parts_202006.sprt_id, bet_parts_202006.comp_id, bet_parts_202006.sport, bet_parts_202006.comp, bet_parts_202006.event, bet_parts_202006.market, bet_parts_202006.placed_time, bet_parts_202006.mrkt_type, bet_parts_202006.score_a, bet_parts_202006.score_b, bet_parts_202006.mrkt_sub_type
  • Index Cond: (bet_parts_202006.bet_id = bets.id)
45. 35.344 35.344 ↑ 1.5 2 4,418

Index Scan using bet_parts_202007_bet_id_idx on public.bet_parts_202007 (cost=0.42..6.81 rows=3 width=164) (actual time=0.007..0.008 rows=2 loops=4,418)

  • Output: bet_parts_202007.instrument_id, bet_parts_202007.selection_type, bet_parts_202007.selection, bet_parts_202007.market_id, bet_parts_202007.node_id, bet_parts_202007.event_time, bet_parts_202007.sprt_id, bet_parts_202007.comp_id, bet_parts_202007.sport, bet_parts_202007.comp, bet_parts_202007.event, bet_parts_202007.market, bet_parts_202007.placed_time, bet_parts_202007.mrkt_type, bet_parts_202007.score_a, bet_parts_202007.score_b, bet_parts_202007.mrkt_sub_type
  • Index Cond: (bet_parts_202007.bet_id = bets.id)
46. 4.418 4.418 ↓ 0.0 0 4,418

Index Scan using bet_parts_202008_bet_id_result_type_id_placed_time_idx on public.bet_parts_202008 (cost=0.14..5.15 rows=1 width=2,406) (actual time=0.001..0.001 rows=0 loops=4,418)

  • Output: bet_parts_202008.instrument_id, bet_parts_202008.selection_type, bet_parts_202008.selection, bet_parts_202008.market_id, bet_parts_202008.node_id, bet_parts_202008.event_time, bet_parts_202008.sprt_id, bet_parts_202008.comp_id, bet_parts_202008.sport, bet_parts_202008.comp, bet_parts_202008.event, bet_parts_202008.market, bet_parts_202008.placed_time, bet_parts_202008.mrkt_type, bet_parts_202008.score_a, bet_parts_202008.score_b, bet_parts_202008.mrkt_sub_type
  • Index Cond: (bet_parts_202008.bet_id = bets.id)
47. 4.418 4.418 ↓ 0.0 0 4,418

Index Scan using bet_parts_202009_bet_id_result_type_id_placed_time_idx on public.bet_parts_202009 (cost=0.14..5.15 rows=1 width=2,406) (actual time=0.001..0.001 rows=0 loops=4,418)

  • Output: bet_parts_202009.instrument_id, bet_parts_202009.selection_type, bet_parts_202009.selection, bet_parts_202009.market_id, bet_parts_202009.node_id, bet_parts_202009.event_time, bet_parts_202009.sprt_id, bet_parts_202009.comp_id, bet_parts_202009.sport, bet_parts_202009.comp, bet_parts_202009.event, bet_parts_202009.market, bet_parts_202009.placed_time, bet_parts_202009.mrkt_type, bet_parts_202009.score_a, bet_parts_202009.score_b, bet_parts_202009.mrkt_sub_type
  • Index Cond: (bet_parts_202009.bet_id = bets.id)
48. 4.418 4.418 ↓ 0.0 0 4,418

Index Scan using bet_parts_202010_bet_id_result_type_id_placed_time_idx on public.bet_parts_202010 (cost=0.14..5.15 rows=1 width=2,406) (actual time=0.001..0.001 rows=0 loops=4,418)

  • Output: bet_parts_202010.instrument_id, bet_parts_202010.selection_type, bet_parts_202010.selection, bet_parts_202010.market_id, bet_parts_202010.node_id, bet_parts_202010.event_time, bet_parts_202010.sprt_id, bet_parts_202010.comp_id, bet_parts_202010.sport, bet_parts_202010.comp, bet_parts_202010.event, bet_parts_202010.market, bet_parts_202010.placed_time, bet_parts_202010.mrkt_type, bet_parts_202010.score_a, bet_parts_202010.score_b, bet_parts_202010.mrkt_sub_type
  • Index Cond: (bet_parts_202010.bet_id = bets.id)
49. 4.418 4.418 ↓ 0.0 0 4,418

Index Scan using bet_parts_202011_bet_id_result_type_id_placed_time_idx on public.bet_parts_202011 (cost=0.14..5.15 rows=1 width=2,406) (actual time=0.001..0.001 rows=0 loops=4,418)

  • Output: bet_parts_202011.instrument_id, bet_parts_202011.selection_type, bet_parts_202011.selection, bet_parts_202011.market_id, bet_parts_202011.node_id, bet_parts_202011.event_time, bet_parts_202011.sprt_id, bet_parts_202011.comp_id, bet_parts_202011.sport, bet_parts_202011.comp, bet_parts_202011.event, bet_parts_202011.market, bet_parts_202011.placed_time, bet_parts_202011.mrkt_type, bet_parts_202011.score_a, bet_parts_202011.score_b, bet_parts_202011.mrkt_sub_type
  • Index Cond: (bet_parts_202011.bet_id = bets.id)
50. 4.418 4.418 ↓ 0.0 0 4,418

Index Scan using bet_parts_202012_bet_id_result_type_id_placed_time_idx on public.bet_parts_202012 (cost=0.14..5.15 rows=1 width=2,406) (actual time=0.001..0.001 rows=0 loops=4,418)

  • Output: bet_parts_202012.instrument_id, bet_parts_202012.selection_type, bet_parts_202012.selection, bet_parts_202012.market_id, bet_parts_202012.node_id, bet_parts_202012.event_time, bet_parts_202012.sprt_id, bet_parts_202012.comp_id, bet_parts_202012.sport, bet_parts_202012.comp, bet_parts_202012.event, bet_parts_202012.market, bet_parts_202012.placed_time, bet_parts_202012.mrkt_type, bet_parts_202012.score_a, bet_parts_202012.score_b, bet_parts_202012.mrkt_sub_type
  • Index Cond: (bet_parts_202012.bet_id = bets.id)