explain.depesz.com

PostgreSQL's explain analyze made readable

Result: BK4u

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 0.000 ↓ 0.0

Unique (cost=3,217,966.26..4,584,962.62 rows=492,611 width=852) (actual rows= loops=)

  • Output: g_t2.djcald, g_t1.ccontrbdm, g_t1.ddebvalibdm, g_t1.dfinvalibdm, g_t1.contract_id, g_t1.exchange_code, g_t1.generic_contract_type, g_t1.product_code, g_t1.cdevcot, (substr((g_t1.contract_name)::text, 1, 50)), g_t1.trading_unit_id, g_t1.thread_group_id, g_t1.dpl_limit, g_t1.settlement_tick_size_numerator, g_t1.tick_value, g_t1.tick_size_denominator, g_t1.lot_size, g_t1.delta_protection, g_t1.vega_protection, g_t1.volume_protection, g_t1.schedule_id, g_t1.throttle_group_id, g_t1.batch_restriction_group_id, g_t1.exercise_type, g_t1.csjabdm, g_t3.cinstbdm, g_t3.ddebvalibdm, g_t3.dfinvalibdm, g_t3.ccontrbdm, (to_char((g_t3.expiry_date)::timestamp with time zone, 'yyyymmdd'::text)), g_t3.long_name, g_t3.short_name, g_t3.first_trading_day, g_t3.last_trading_day, g_t3.month_code, g_t3.spot_month_flag, g_t3.tick_size_numerator, g_t3.dpl_enabled, g_t3.premium_pricing_enabled, g_t3.premium_threshold, g_t3.premium_tick_size_numerator, g_t3.schedule_id, g_t3.amr_code, g_t3.exercise_price_pu, g_t3.exercise_price_real, g_t3.exercice_price_offset, g_t3.contract_type, g_t3.lot_size, g_t3.inst_code1, g_t3.inst_code2, g_t3.cfi_code, g_t4.cisinsja, g_t3.expiry_date
2. 0.000 0.000 ↓ 0.0

Unique (cost=3,217,966.26..3,882,991.52 rows=4,926,113 width=852) (actual rows= loops=)

  • Output: g_t2.djcald, g_t1.ccontrbdm, g_t1.ddebvalibdm, g_t1.dfinvalibdm, g_t1.contract_id, g_t1.exchange_code, g_t1.generic_contract_type, g_t1.product_code, g_t1.cdevcot, (substr((g_t1.contract_name)::text, 1, 50)), g_t1.trading_unit_id, g_t1.thread_group_id, g_t1.dpl_limit, g_t1.settlement_tick_size_numerator, g_t1.tick_value, g_t1.tick_size_denominator, g_t1.lot_size, g_t1.delta_protection, g_t1.vega_protection, g_t1.volume_protection, g_t1.schedule_id, g_t1.throttle_group_id, g_t1.batch_restriction_group_id, g_t1.exercise_type, g_t1.csjabdm, g_t3.cinstbdm, g_t3.ddebvalibdm, g_t3.dfinvalibdm, g_t3.ccontrbdm, (to_char((g_t3.expiry_date)::timestamp with time zone, 'yyyymmdd'::text)), g_t3.long_name, g_t3.short_name, g_t3.first_trading_day, g_t3.last_trading_day, g_t3.month_code, g_t3.spot_month_flag, g_t3.tick_size_numerator, g_t3.dpl_enabled, g_t3.premium_pricing_enabled, g_t3.premium_threshold, g_t3.premium_tick_size_numerator, g_t3.schedule_id, g_t3.amr_code, g_t3.exercise_price_pu, g_t3.exercise_price_real, g_t3.exercice_price_offset, g_t3.contract_type, g_t3.lot_size, g_t3.inst_code1, g_t3.inst_code2, g_t3.cfi_code, g_t4.cisinsja, g_t3.expiry_date
3. 0.000 0.000 ↓ 0.0

Sort (cost=3,217,966.26..3,230,281.54 rows=4,926,113 width=852) (actual rows= loops=)

  • Output: g_t2.djcald, g_t1.ccontrbdm, g_t1.ddebvalibdm, g_t1.dfinvalibdm, g_t1.contract_id, g_t1.exchange_code, g_t1.generic_contract_type, g_t1.product_code, g_t1.cdevcot, (substr((g_t1.contract_name)::text, 1, 50)), g_t1.trading_unit_id, g_t1.thread_group_id, g_t1.dpl_limit, g_t1.settlement_tick_size_numerator, g_t1.tick_value, g_t1.tick_size_denominator, g_t1.lot_size, g_t1.delta_protection, g_t1.vega_protection, g_t1.volume_protection, g_t1.schedule_id, g_t1.throttle_group_id, g_t1.batch_restriction_group_id, g_t1.exercise_type, g_t1.csjabdm, g_t3.cinstbdm, g_t3.ddebvalibdm, g_t3.dfinvalibdm, g_t3.ccontrbdm, (to_char((g_t3.expiry_date)::timestamp with time zone, 'yyyymmdd'::text)), g_t3.long_name, g_t3.short_name, g_t3.first_trading_day, g_t3.last_trading_day, g_t3.month_code, g_t3.spot_month_flag, g_t3.tick_size_numerator, g_t3.dpl_enabled, g_t3.premium_pricing_enabled, g_t3.premium_threshold, g_t3.premium_tick_size_numerator, g_t3.schedule_id, g_t3.amr_code, g_t3.exercise_price_pu, g_t3.exercise_price_real, g_t3.exercice_price_offset, g_t3.contract_type, g_t3.lot_size, g_t3.inst_code1, g_t3.inst_code2, g_t3.cfi_code, g_t4.cisinsja, g_t3.expiry_date
  • Sort Key: g_t2.djcald, g_t1.ccontrbdm, g_t1.ddebvalibdm, g_t1.dfinvalibdm, g_t1.contract_id, g_t1.exchange_code, g_t1.generic_contract_type, g_t1.product_code, g_t1.cdevcot, (substr((g_t1.contract_name)::text, 1, 50)), g_t1.trading_unit_id, g_t1.thread_group_id, g_t1.dpl_limit, g_t1.settlement_tick_size_numerator, g_t1.tick_value, g_t1.tick_size_denominator, g_t1.lot_size, g_t1.delta_protection, g_t1.vega_protection, g_t1.volume_protection, g_t1.schedule_id, g_t1.throttle_group_id, g_t1.batch_restriction_group_id, g_t1.exercise_type, g_t1.csjabdm, g_t3.cinstbdm, g_t3.ddebvalibdm, g_t3.dfinvalibdm, g_t3.ccontrbdm, (to_char((g_t3.expiry_date)::timestamp with time zone, 'yyyymmdd'::text)), g_t3.long_name, g_t3.short_name, g_t3.first_trading_day, g_t3.last_trading_day, g_t3.month_code, g_t3.spot_month_flag, g_t3.tick_size_numerator, g_t3.dpl_enabled, g_t3.premium_pricing_enabled, g_t3.premium_threshold, g_t3.premium_tick_size_numerator, g_t3.schedule_id, g_t3.amr_code, g_t3.exercise_price_pu, g_t3.exercise_price_real, g_t3.exercice_price_offset, g_t3.contract_type, g_t3.lot_size, g_t3.inst_code1, g_t3.inst_code2, g_t3.cfi_code, g_t4.cisinsja, g_t3.expiry_date
4. 0.000 0.000 ↓ 0.0

Append (cost=460,351.08..1,612,033.09 rows=4,926,113 width=852) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Merge Join (cost=460,351.08..552,336.05 rows=4,067,498 width=310) (actual rows= loops=)

  • Output: g_t2.djcald, g_t1.ccontrbdm, g_t1.ddebvalibdm, g_t1.dfinvalibdm, g_t1.contract_id, g_t1.exchange_code, g_t1.generic_contract_type, g_t1.product_code, g_t1.cdevcot, substr((g_t1.contract_name)::text, 1, 50), g_t1.trading_unit_id, g_t1.thread_group_id, g_t1.dpl_limit, g_t1.settlement_tick_size_numerator, g_t1.tick_value, g_t1.tick_size_denominator, g_t1.lot_size, g_t1.delta_protection, g_t1.vega_protection, g_t1.volume_protection, g_t1.schedule_id, g_t1.throttle_group_id, g_t1.batch_restriction_group_id, g_t1.exercise_type, g_t1.csjabdm, g_t3.cinstbdm, g_t3.ddebvalibdm, g_t3.dfinvalibdm, g_t3.ccontrbdm, to_char((g_t3.expiry_date)::timestamp with time zone, 'yyyymmdd'::text), g_t3.long_name, g_t3.short_name, g_t3.first_trading_day, g_t3.last_trading_day, g_t3.month_code, g_t3.spot_month_flag, g_t3.tick_size_numerator, g_t3.dpl_enabled, g_t3.premium_pricing_enabled, g_t3.premium_threshold, g_t3.premium_tick_size_numerator, g_t3.schedule_id, g_t3.amr_code, g_t3.exercise_price_pu, g_t3.exercise_price_real, g_t3.exercice_price_offset, g_t3.contract_type, g_t3.lot_size, g_t3.inst_code1, g_t3.inst_code2, g_t3.cfi_code, g_t4.cisinsja, g_t3.expiry_date
  • Merge Cond: (g_t3.ccontrbdm = g_t1.ccontrbdm)
6. 0.000 0.000 ↓ 0.0

Sort (cost=420,778.68..421,012.79 rows=93,645 width=143) (actual rows= loops=)

  • Output: g_t3.cinstbdm, g_t3.ddebvalibdm, g_t3.dfinvalibdm, g_t3.ccontrbdm, g_t3.expiry_date, g_t3.long_name, g_t3.short_name, g_t3.first_trading_day, g_t3.last_trading_day, g_t3.month_code, g_t3.spot_month_flag, g_t3.tick_size_numerator, g_t3.dpl_enabled, g_t3.premium_pricing_enabled, g_t3.premium_threshold, g_t3.premium_tick_size_numerator, g_t3.schedule_id, g_t3.amr_code, g_t3.exercise_price_pu, g_t3.exercise_price_real, g_t3.exercice_price_offset, g_t3.contract_type, g_t3.lot_size, g_t3.inst_code1, g_t3.inst_code2, g_t3.cfi_code
  • Sort Key: g_t3.ccontrbdm
7. 0.000 0.000 ↓ 0.0

Gather (cost=1,000.00..413,045.98 rows=93,645 width=143) (actual rows= loops=)

  • Output: g_t3.cinstbdm, g_t3.ddebvalibdm, g_t3.dfinvalibdm, g_t3.ccontrbdm, g_t3.expiry_date, g_t3.long_name, g_t3.short_name, g_t3.first_trading_day, g_t3.last_trading_day, g_t3.month_code, g_t3.spot_month_flag, g_t3.tick_size_numerator, g_t3.dpl_enabled, g_t3.premium_pricing_enabled, g_t3.premium_threshold, g_t3.premium_tick_size_numerator, g_t3.schedule_id, g_t3.amr_code, g_t3.exercise_price_pu, g_t3.exercise_price_real, g_t3.exercice_price_offset, g_t3.contract_type, g_t3.lot_size, g_t3.inst_code1, g_t3.inst_code2, g_t3.cfi_code
  • Workers Planned: 2
8. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on public.br_inst g_t3 (cost=0.00..402,681.48 rows=39,019 width=143) (actual rows= loops=)

  • Output: g_t3.cinstbdm, g_t3.ddebvalibdm, g_t3.dfinvalibdm, g_t3.ccontrbdm, g_t3.expiry_date, g_t3.long_name, g_t3.short_name, g_t3.first_trading_day, g_t3.last_trading_day, g_t3.month_code, g_t3.spot_month_flag, g_t3.tick_size_numerator, g_t3.dpl_enabled, g_t3.premium_pricing_enabled, g_t3.premium_threshold, g_t3.premium_tick_size_numerator, g_t3.schedule_id, g_t3.amr_code, g_t3.exercise_price_pu, g_t3.exercise_price_real, g_t3.exercice_price_offset, g_t3.contract_type, g_t3.lot_size, g_t3.inst_code1, g_t3.inst_code2, g_t3.cfi_code
  • Filter: (('2019-07-01'::date >= g_t3.ddebvalibdm) AND ('2019-07-01'::date < g_t3.dfinvalibdm) AND (substr((g_t3.amr_code)::text, 15, 1) <> 'S'::text))
9. 0.000 0.000 ↓ 0.0

Sort (cost=39,571.44..39,899.02 rows=131,032 width=161) (actual rows= loops=)

  • Output: g_t1.ccontrbdm, g_t1.ddebvalibdm, g_t1.dfinvalibdm, g_t1.contract_id, g_t1.exchange_code, g_t1.generic_contract_type, g_t1.product_code, g_t1.cdevcot, g_t1.contract_name, g_t1.trading_unit_id, g_t1.thread_group_id, g_t1.dpl_limit, g_t1.settlement_tick_size_numerator, g_t1.tick_value, g_t1.tick_size_denominator, g_t1.lot_size, g_t1.delta_protection, g_t1.vega_protection, g_t1.volume_protection, g_t1.schedule_id, g_t1.throttle_group_id, g_t1.batch_restriction_group_id, g_t1.exercise_type, g_t1.csjabdm, g_t4.cisinsja, g_t2.djcald
  • Sort Key: g_t1.ccontrbdm
10. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=24,127.68..28,434.01 rows=131,032 width=161) (actual rows= loops=)

  • Output: g_t1.ccontrbdm, g_t1.ddebvalibdm, g_t1.dfinvalibdm, g_t1.contract_id, g_t1.exchange_code, g_t1.generic_contract_type, g_t1.product_code, g_t1.cdevcot, g_t1.contract_name, g_t1.trading_unit_id, g_t1.thread_group_id, g_t1.dpl_limit, g_t1.settlement_tick_size_numerator, g_t1.tick_value, g_t1.tick_size_denominator, g_t1.lot_size, g_t1.delta_protection, g_t1.vega_protection, g_t1.volume_protection, g_t1.schedule_id, g_t1.throttle_group_id, g_t1.batch_restriction_group_id, g_t1.exercise_type, g_t1.csjabdm, g_t4.cisinsja, g_t2.djcald
  • Hash Cond: (g_t1.csjabdm = g_t4.csjabdm)
11. 0.000 0.000 ↓ 0.0

Hash Join (cost=24,077.89..27,216.36 rows=131,032 width=148) (actual rows= loops=)

  • Output: g_t1.ccontrbdm, g_t1.ddebvalibdm, g_t1.dfinvalibdm, g_t1.contract_id, g_t1.exchange_code, g_t1.generic_contract_type, g_t1.product_code, g_t1.cdevcot, g_t1.contract_name, g_t1.trading_unit_id, g_t1.thread_group_id, g_t1.dpl_limit, g_t1.settlement_tick_size_numerator, g_t1.tick_value, g_t1.tick_size_denominator, g_t1.lot_size, g_t1.delta_protection, g_t1.vega_protection, g_t1.volume_protection, g_t1.schedule_id, g_t1.throttle_group_id, g_t1.batch_restriction_group_id, g_t1.exercise_type, g_t1.csjabdm, g_t2.djcald
  • Hash Cond: (g_t2.djcald = g_t1.ddebvalibdm)
12. 0.000 0.000 ↓ 0.0

Seq Scan on public.br_calj g_t2 (cost=0.00..14.60 rows=460 width=4) (actual rows= loops=)

  • Output: g_t2.djcald, g_t2.dbspcald, g_t2.dbssvcald, g_t2.dfinmspcald, g_t2.dfinmscald, g_t2.ljcald, g_t2.lmscald, g_t2.ijprbssmcald, g_t2.ijdrbssmcald, g_t2.ijdrbsmscald, g_t2.njancald, g_t2.ijbscald, g_t2.dmidmscald
13. 0.000 0.000 ↓ 0.0

Hash (cost=22,774.69..22,774.69 rows=104,256 width=144) (actual rows= loops=)

  • Output: g_t1.ccontrbdm, g_t1.ddebvalibdm, g_t1.dfinvalibdm, g_t1.contract_id, g_t1.exchange_code, g_t1.generic_contract_type, g_t1.product_code, g_t1.cdevcot, g_t1.contract_name, g_t1.trading_unit_id, g_t1.thread_group_id, g_t1.dpl_limit, g_t1.settlement_tick_size_numerator, g_t1.tick_value, g_t1.tick_size_denominator, g_t1.lot_size, g_t1.delta_protection, g_t1.vega_protection, g_t1.volume_protection, g_t1.schedule_id, g_t1.throttle_group_id, g_t1.batch_restriction_group_id, g_t1.exercise_type, g_t1.csjabdm
  • Buckets: 131072 Batches: 1 Memory Usage: 19110kB
14. 0.000 0.000 ↓ 0.0

Seq Scan on public.br_contr g_t1 (cost=0.00..22,774.69 rows=104,256 width=144) (actual rows= loops=)

  • Output: g_t1.ccontrbdm, g_t1.ddebvalibdm, g_t1.dfinvalibdm, g_t1.contract_id, g_t1.exchange_code, g_t1.generic_contract_type, g_t1.product_code, g_t1.cdevcot, g_t1.contract_name, g_t1.trading_unit_id, g_t1.thread_group_id, g_t1.dpl_limit, g_t1.settlement_tick_size_numerator, g_t1.tick_value, g_t1.tick_size_denominator, g_t1.lot_size, g_t1.delta_protection, g_t1.vega_protection, g_t1.volume_protection, g_t1.schedule_id, g_t1.throttle_group_id, g_t1.batch_restriction_group_id, g_t1.exercise_type, g_t1.csjabdm
  • Filter: (g_t1.exchange_code = ANY ('{A,K,Z}'::bpchar[]))
15. 0.000 0.000 ↓ 0.0

Hash (cost=49.62..49.62 rows=14 width=17) (actual rows= loops=)

  • Output: g_t4.cisinsja, g_t4.csjabdm
  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
16. 0.000 0.000 ↓ 0.0

Seq Scan on public.br_sja g_t4 (cost=0.00..49.62 rows=14 width=17) (actual rows= loops=)

  • Output: g_t4.cisinsja, g_t4.csjabdm
  • Filter: (('2019-07-01'::date >= g_t4.ddebvalibdm) AND ('2019-07-01'::date < g_t4.dfinvalibdm) AND (g_t4.generic_contract_type = 'I'::bpchar))
17. 0.000 0.000 ↓ 0.0

Gather (cost=900,959.66..1,010,435.91 rows=858,615 width=310) (actual rows= loops=)

  • Output: g_t8.djcald, g_t7.ccontrbdm, g_t7.ddebvalibdm, g_t7.dfinvalibdm, g_t7.contract_id, g_t7.exchange_code, g_t7.generic_contract_type, g_t7.product_code, g_t7.cdevcot, (substr((g_t7.contract_name)::text, 1, 50)), g_t7.trading_unit_id, g_t7.thread_group_id, g_t7.dpl_limit, g_t7.settlement_tick_size_numerator, g_t7.tick_value, g_t7.tick_size_denominator, g_t7.lot_size, g_t7.delta_protection, g_t7.vega_protection, g_t7.volume_protection, g_t7.schedule_id, g_t7.throttle_group_id, g_t7.batch_restriction_group_id, g_t7.exercise_type, g_t7.csjabdm, g_t9.cinstbdm, g_t9.ddebvalibdm, g_t9.dfinvalibdm, g_t9.ccontrbdm, (to_char((g_t9.expiry_date)::timestamp with time zone, 'yyyymmdd'::text)), g_t9.long_name, g_t9.short_name, g_t9.first_trading_day, g_t9.last_trading_day, g_t9.month_code, g_t9.spot_month_flag, g_t9.tick_size_numerator, g_t9.dpl_enabled, g_t9.premium_pricing_enabled, g_t9.premium_threshold, g_t9.premium_tick_size_numerator, g_t9.schedule_id, g_t9.amr_code, g_t9.exercise_price_pu, g_t9.exercise_price_real, g_t9.exercice_price_offset, g_t9.contract_type, g_t9.lot_size, g_t9.inst_code1, g_t9.inst_code2, g_t9.cfi_code, g_t10.cisinsja, g_t9.expiry_date
  • Workers Planned: 2
18. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=899,959.66..919,817.97 rows=357,756 width=310) (actual rows= loops=)

  • Output: g_t8.djcald, g_t7.ccontrbdm, g_t7.ddebvalibdm, g_t7.dfinvalibdm, g_t7.contract_id, g_t7.exchange_code, g_t7.generic_contract_type, g_t7.product_code, g_t7.cdevcot, substr((g_t7.contract_name)::text, 1, 50), g_t7.trading_unit_id, g_t7.thread_group_id, g_t7.dpl_limit, g_t7.settlement_tick_size_numerator, g_t7.tick_value, g_t7.tick_size_denominator, g_t7.lot_size, g_t7.delta_protection, g_t7.vega_protection, g_t7.volume_protection, g_t7.schedule_id, g_t7.throttle_group_id, g_t7.batch_restriction_group_id, g_t7.exercise_type, g_t7.csjabdm, g_t9.cinstbdm, g_t9.ddebvalibdm, g_t9.dfinvalibdm, g_t9.ccontrbdm, to_char((g_t9.expiry_date)::timestamp with time zone, 'yyyymmdd'::text), g_t9.long_name, g_t9.short_name, g_t9.first_trading_day, g_t9.last_trading_day, g_t9.month_code, g_t9.spot_month_flag, g_t9.tick_size_numerator, g_t9.dpl_enabled, g_t9.premium_pricing_enabled, g_t9.premium_threshold, g_t9.premium_tick_size_numerator, g_t9.schedule_id, g_t9.amr_code, g_t9.exercise_price_pu, g_t9.exercise_price_real, g_t9.exercice_price_offset, g_t9.contract_type, g_t9.lot_size, g_t9.inst_code1, g_t9.inst_code2, g_t9.cfi_code, g_t10.cisinsja, g_t9.expiry_date
  • Hash Cond: (g_t7.csjabdm = g_t10.csjabdm)
19. 0.000 0.000 ↓ 0.0

Merge Join (cost=899,909.87..913,896.41 rows=357,756 width=291) (actual rows= loops=)

  • Output: g_t7.ccontrbdm, g_t7.ddebvalibdm, g_t7.dfinvalibdm, g_t7.contract_id, g_t7.exchange_code, g_t7.generic_contract_type, g_t7.product_code, g_t7.cdevcot, g_t7.contract_name, g_t7.trading_unit_id, g_t7.thread_group_id, g_t7.dpl_limit, g_t7.settlement_tick_size_numerator, g_t7.tick_value, g_t7.tick_size_denominator, g_t7.lot_size, g_t7.delta_protection, g_t7.vega_protection, g_t7.volume_protection, g_t7.schedule_id, g_t7.throttle_group_id, g_t7.batch_restriction_group_id, g_t7.exercise_type, g_t7.csjabdm, g_t9.cinstbdm, g_t9.ddebvalibdm, g_t9.dfinvalibdm, g_t9.ccontrbdm, g_t9.expiry_date, g_t9.long_name, g_t9.short_name, g_t9.first_trading_day, g_t9.last_trading_day, g_t9.month_code, g_t9.spot_month_flag, g_t9.tick_size_numerator, g_t9.dpl_enabled, g_t9.premium_pricing_enabled, g_t9.premium_threshold, g_t9.premium_tick_size_numerator, g_t9.schedule_id, g_t9.amr_code, g_t9.exercise_price_pu, g_t9.exercise_price_real, g_t9.exercice_price_offset, g_t9.contract_type, g_t9.lot_size, g_t9.inst_code1, g_t9.inst_code2, g_t9.cfi_code, g_t8.djcald
  • Merge Cond: (g_t9.ccontrbdm = g_t7.ccontrbdm)
20. 0.000 0.000 ↓ 0.0

Sort (cost=875,449.49..879,759.59 rows=1,724,041 width=147) (actual rows= loops=)

  • Output: g_t9.cinstbdm, g_t9.ddebvalibdm, g_t9.dfinvalibdm, g_t9.ccontrbdm, g_t9.expiry_date, g_t9.long_name, g_t9.short_name, g_t9.first_trading_day, g_t9.last_trading_day, g_t9.month_code, g_t9.spot_month_flag, g_t9.tick_size_numerator, g_t9.dpl_enabled, g_t9.premium_pricing_enabled, g_t9.premium_threshold, g_t9.premium_tick_size_numerator, g_t9.schedule_id, g_t9.amr_code, g_t9.exercise_price_pu, g_t9.exercise_price_real, g_t9.exercice_price_offset, g_t9.contract_type, g_t9.lot_size, g_t9.inst_code1, g_t9.inst_code2, g_t9.cfi_code, g_t8.djcald
  • Sort Key: g_t9.ccontrbdm
21. 0.000 0.000 ↓ 0.0

Hash Join (cost=20.35..696,861.57 rows=1,724,041 width=147) (actual rows= loops=)

  • Output: g_t9.cinstbdm, g_t9.ddebvalibdm, g_t9.dfinvalibdm, g_t9.ccontrbdm, g_t9.expiry_date, g_t9.long_name, g_t9.short_name, g_t9.first_trading_day, g_t9.last_trading_day, g_t9.month_code, g_t9.spot_month_flag, g_t9.tick_size_numerator, g_t9.dpl_enabled, g_t9.premium_pricing_enabled, g_t9.premium_threshold, g_t9.premium_tick_size_numerator, g_t9.schedule_id, g_t9.amr_code, g_t9.exercise_price_pu, g_t9.exercise_price_real, g_t9.exercice_price_offset, g_t9.contract_type, g_t9.lot_size, g_t9.inst_code1, g_t9.inst_code2, g_t9.cfi_code, g_t8.djcald
  • Hash Cond: (g_t9.ddebvalibdm = g_t8.djcald)
22. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on public.br_inst g_t9 (cost=0.00..377,368.93 rows=5,037,198 width=143) (actual rows= loops=)

  • Output: g_t9.cinstbdm, g_t9.ddebvalibdm, g_t9.dfinvalibdm, g_t9.ccontrbdm, g_t9.expiry_date_00, g_t9.expiry_date, g_t9.long_name, g_t9.short_name, g_t9.zmsech, g_t9.first_trading_day, g_t9.last_trading_day, g_t9.month_code, g_t9.spot_month_flag, g_t9.tick_size_numerator, g_t9.dpl_enabled, g_t9.premium_pricing_enabled, g_t9.premium_threshold, g_t9.premium_tick_size_numerator, g_t9.schedule_id, g_t9.amr_code, g_t9.exercise_price_pu, g_t9.exercise_price_real, g_t9.exercice_price_offset, g_t9.contract_type, g_t9.lot_size, g_t9.inst_code1, g_t9.inst_code2, g_t9.cfi_code, g_t9.flex_enabled
  • Filter: (substr((g_t9.amr_code)::text, 15, 1) <> 'S'::text)
23. 0.000 0.000 ↓ 0.0

Hash (cost=14.60..14.60 rows=460 width=4) (actual rows= loops=)

  • Output: g_t8.djcald
  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
24. 0.000 0.000 ↓ 0.0

Seq Scan on public.br_calj g_t8 (cost=0.00..14.60 rows=460 width=4) (actual rows= loops=)

  • Output: g_t8.djcald
25. 0.000 0.000 ↓ 0.0

Sort (cost=24,460.38..24,461.95 rows=626 width=144) (actual rows= loops=)

  • Output: g_t7.ccontrbdm, g_t7.ddebvalibdm, g_t7.dfinvalibdm, g_t7.contract_id, g_t7.exchange_code, g_t7.generic_contract_type, g_t7.product_code, g_t7.cdevcot, g_t7.contract_name, g_t7.trading_unit_id, g_t7.thread_group_id, g_t7.dpl_limit, g_t7.settlement_tick_size_numerator, g_t7.tick_value, g_t7.tick_size_denominator, g_t7.lot_size, g_t7.delta_protection, g_t7.vega_protection, g_t7.volume_protection, g_t7.schedule_id, g_t7.throttle_group_id, g_t7.batch_restriction_group_id, g_t7.exercise_type, g_t7.csjabdm
  • Sort Key: g_t7.ccontrbdm
26. 0.000 0.000 ↓ 0.0

Seq Scan on public.br_contr g_t7 (cost=0.00..24,431.31 rows=626 width=144) (actual rows= loops=)

  • Output: g_t7.ccontrbdm, g_t7.ddebvalibdm, g_t7.dfinvalibdm, g_t7.contract_id, g_t7.exchange_code, g_t7.generic_contract_type, g_t7.product_code, g_t7.cdevcot, g_t7.contract_name, g_t7.trading_unit_id, g_t7.thread_group_id, g_t7.dpl_limit, g_t7.settlement_tick_size_numerator, g_t7.tick_value, g_t7.tick_size_denominator, g_t7.lot_size, g_t7.delta_protection, g_t7.vega_protection, g_t7.volume_protection, g_t7.schedule_id, g_t7.throttle_group_id, g_t7.batch_restriction_group_id, g_t7.exercise_type, g_t7.csjabdm
  • Filter: (('2019-07-01'::date >= g_t7.ddebvalibdm) AND ('2019-07-01'::date < g_t7.dfinvalibdm) AND (g_t7.exchange_code = ANY ('{A,K,Z}'::bpchar[])))
27. 0.000 0.000 ↓ 0.0

Hash (cost=49.62..49.62 rows=14 width=17) (actual rows= loops=)

  • Output: g_t10.cisinsja, g_t10.csjabdm
  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
28. 0.000 0.000 ↓ 0.0

Seq Scan on public.br_sja g_t10 (cost=0.00..49.62 rows=14 width=17) (actual rows= loops=)

  • Output: g_t10.cisinsja, g_t10.csjabdm
  • Filter: (('2019-07-01'::date >= g_t10.ddebvalibdm) AND ('2019-07-01'::date < g_t10.dfinvalibdm) AND (g_t10.generic_contract_type = 'I'::bpchar))