explain.depesz.com

PostgreSQL's explain analyze made readable

Result: rRwn

Settings
# exclusive inclusive rows x rows loops node
1. 0.299 0.958 ↑ 2,507.4 5 1

GroupAggregate (cost=220,238.06..223,027.54 rows=12,537 width=988) (actual time=0.758..0.958 rows=5 loops=1)

  • Group Key: filterkeys.dataset_level_id, filterkeys.dataset_type_id, filterkeys.dataset_source_id, filterkeys.effective_begin_date, filterkeys.book_id, filterkeys.accounting_period, a.pnl_spn, a.demux_group_id, a.dataset_source_id, a.gb
2. 0.267 0.659 ↑ 321.5 39 1

Sort (cost=220,238.06..220,269.40 rows=12,537 width=2,169) (actual time=0.648..0.659 rows=39 loops=1)

  • Sort Key: filterkeys.dataset_level_id, filterkeys.dataset_type_id, filterkeys.book_id, filterkeys.accounting_period, a.pnl_spn, a.demux_group_id, a.gbo_type_id, a.admin_pm, ((c.processed_row ->> 'isin'::text)), a.currency, a.admi
  • Sort Method: quicksort Memory: 103kB
3. 0.033 0.392 ↑ 321.5 39 1

Nested Loop (cost=0.00..207,600.17 rows=12,537 width=2,169) (actual time=0.070..0.392 rows=39 loops=1)

4. 0.018 0.242 ↑ 2.9 39 1

Nested Loop (cost=0.00..207,501.78 rows=112 width=1,980) (actual time=0.052..0.242 rows=39 loops=1)

5. 0.003 0.107 ↓ 39.0 39 1

Nested Loop (cost=0.00..207,500.32 rows=1 width=196) (actual time=0.038..0.107 rows=39 loops=1)

6. 0.014 0.014 ↓ 6.0 6 1

Seq Scan on pk_20181231_s21711coffee_processed_feed_data_staging_template15 filterkeys (cost=0.00..22.45 rows=1 width=70) (actual time=0.012..0.014 rows=6 loops=1)

  • Filter: ((dataset_source_id = 2) AND (effective_begin_date = '2018-12-31'::date))
7. 0.012 0.090 ↑ 11,661.0 6 6

Append (cost=0.00..206,778.21 rows=69,966 width=126) (actual time=0.007..0.015 rows=6 loops=6)

8. 0.000 0.000 ↓ 0.0 0 6

Seq Scan on processed_feed_data_keys a (cost=0.00..0.00 rows=1 width=1,210) (actual time=0.000..0.000 rows=0 loops=6)

  • Filter: ((dataset_source_id = 2) AND (effective_begin_date = '2018-12-31'::date) AND (available = 'Y'::bpchar) AND ((bucket_type)::text = 'REGULAR'::text) AND (filterkeys.dataset_level_id = dataset_l
9. 0.078 0.078 ↑ 11,660.8 6 6

Index Scan using idx_data_keys_date_book_knw_2018_12_2 on processed_feed_data_keys_2018_12_2 a_1 (cost=0.56..206,778.21 rows=69,965 width=126) (actual time=0.007..0.013 rows=6 loops=6)

  • Index Cond: ((effective_begin_date = '2018-12-31'::date) AND (dataset_source_id = 2) AND (dataset_type_id = filterkeys.dataset_type_id) AND (dataset_level_id = filterkeys.dataset_level_id) AND (book_
  • Filter: ((available = 'Y'::bpchar) AND ((bucket_type)::text = 'REGULAR'::text) AND ((filterkeys.accounting_period)::text = (accounting_period)::text))
10. 0.039 0.117 ↑ 2.0 1 39

Append (cost=0.00..1.45 rows=2 width=1,788) (actual time=0.003..0.003 rows=1 loops=39)

11. 0.000 0.000 ↓ 0.0 0 39

Seq Scan on processed_feed_records c (cost=0.00..0.00 rows=1 width=64) (actual time=0.000..0.000 rows=0 loops=39)

  • Filter: ((dataset_source_id = 2) AND (effective_begin_date = '2018-12-31'::date) AND (available = 'Y'::bpchar) AND (a.raw_record_id = raw_record_id) AND (a.parser_id = parser_id))
12. 0.078 0.078 ↑ 1.0 1 39

Index Scan using idx_records_rwid_2018_12_2 on processed_feed_records_2018_12_2 c_1 (cost=0.43..1.45 rows=1 width=1,788) (actual time=0.002..0.002 rows=1 loops=39)

  • Index Cond: (raw_record_id = a.raw_record_id)
  • Filter: ((dataset_source_id = 2) AND (effective_begin_date = '2018-12-31'::date) AND (available = 'Y'::bpchar) AND (a.parser_id = parser_id))
13. 0.039 0.117 ↑ 2.0 1 39

Append (cost=0.00..0.58 rows=2 width=189) (actual time=0.003..0.003 rows=1 loops=39)

14. 0.000 0.000 ↓ 0.0 0 39

Seq Scan on processed_feed_data b (cost=0.00..0.00 rows=1 width=344) (actual time=0.000..0.000 rows=0 loops=39)

  • Filter: ((dataset_source_id = 2) AND (effective_begin_date = '2018-12-31'::date) AND (available = 'Y'::bpchar) AND (a.raw_record_id = raw_record_id) AND (a.parser_id = parser_id))
15. 0.078 0.078 ↑ 1.0 1 39

Index Scan using idx_feed_data_rwid_2018_12_2 on processed_feed_data_2018_12_2 b_1 (cost=0.43..0.58 rows=1 width=189) (actual time=0.002..0.002 rows=1 loops=39)

  • Index Cond: (raw_record_id = a.raw_record_id)
  • Filter: ((dataset_source_id = 2) AND (effective_begin_date = '2018-12-31'::date) AND (available = 'Y'::bpchar) AND (a.parser_id = parser_id))