explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 6zr

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

Aggregate (cost=20.60..20.61 rows=1 width=40) (actual rows= loops=)

  • Output: (sum(derivative_map_values_pl.unrealised_dal) + sum(derivative_map_values_pl.unrealised_fs_fxpl))
2. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.70..20.59 rows=1 width=40) (actual rows= loops=)

  • Output: derivative_map_values_pl.unrealised_dal, derivative_map_values_pl.unrealised_fs_fxpl
3. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.55..19.54 rows=1 width=48) (actual rows= loops=)

  • Output: derivative_map_values_pl.unrealised_dal, derivative_map_values_pl.unrealised_fs_fxpl, derivative_map_values_pl.pl_type_tag_value_id
  • Join Filter: (exposure_component_map.derivative_component_map_id = derivative_component_map.id)
4. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.41..18.67 rows=1 width=64) (actual rows= loops=)

  • Output: exposure_component_map.derivative_component_map_id, derivative_map_values_pl.unrealised_dal, derivative_map_values_pl.unrealised_fs_fxpl, derivative_map_values_pl.derivative_component_map_id, derivative_map_values_pl.pl_type_tag (...)
  • Join Filter: (exposure_component_map.derivative_component_map_id = derivative_map_values_pl.derivative_component_map_id)
5. 0.000 0.000 ↓ 0.0

Index Scan using ix_exposure_component_map_event_date_active on sansera.exposure_component_map (cost=0.41..7.51 rows=1 width=8) (actual rows= loops=)

  • Output: exposure_component_map.id, exposure_component_map.business_unit_id, exposure_component_map.exposure_component_no, exposure_component_map.ec_notional_from, exposure_component_map.ec_notional_to, exposure_component_map.ec_no (...)
  • Index Cond: (((exposure_component_map.exposure_component_no)::text = 'EC/SANSERA/2019-20/08602'::text) AND (exposure_component_map.from_date <= '2020-10-14'::date) AND (exposure_component_map.to_date >= '2020-10-14'::date) AND ((e (...)
6. 0.000 0.000 ↓ 0.0

Seq Scan on sansera.derivative_map_values_pl (cost=0.00..10.88 rows=23 width=56) (actual rows= loops=)

  • Output: derivative_map_values_pl.id, derivative_map_values_pl.derivative_component_map_id, derivative_map_values_pl.event_date, derivative_map_values_pl.event_no, derivative_map_values_pl.pl_type_tag_value_id, derivative_map_value (...)
  • Filter: (derivative_map_values_pl.event_date <= '2020-10-14'::date)
7. 0.000 0.000 ↓ 0.0

Index Only Scan using pk_derivative_component_map on sansera.derivative_component_map (cost=0.14..0.85 rows=1 width=8) (actual rows= loops=)

  • Output: derivative_component_map.id
  • Index Cond: (derivative_component_map.id = derivative_map_values_pl.derivative_component_map_id)
8. 0.000 0.000 ↓ 0.0

Index Scan using pk_rd_tag_value on nimbus.rd_tag_value (cost=0.15..1.04 rows=1 width=8) (actual rows= loops=)

  • Output: rd_tag_value.id, rd_tag_value.tag_id, rd_tag_value.tag_value, rd_tag_value.active, rd_tag_value.code
  • Index Cond: (rd_tag_value.id = derivative_map_values_pl.pl_type_tag_value_id)
  • Filter: ((rd_tag_value.code)::text = ANY ('{MTM,BOUGHTFORWARD}'::text[]))