explain.depesz.com

PostgreSQL's explain analyze made readable

Result: BRMP

Settings
# exclusive inclusive rows x rows loops node
1. 12.435 2,157.560 ↓ 69.4 3,400 1

Sort (cost=9,423.53..9,423.66 rows=49 width=1,338) (actual time=2,157.302..2,157.560 rows=3,400 loops=1)

  • Sort Key: cr.combination_id, sr.slider_id
  • Sort Method: quicksort Memory: 1000kB
  • Buffers: shared hit=56987
2. 8.128 2,145.125 ↓ 69.4 3,400 1

Nested Loop Left Join (cost=35.86..9,422.16 rows=49 width=1,338) (actual time=48.486..2,145.125 rows=3,400 loops=1)

  • Join Filter: ((p.period_id = sr.period_id) AND ((sl.id)::numeric = cs.slider_id) AND ((sl.file_id)::numeric = cs.file_id))
  • Buffers: shared hit=56984
3. 1.877 2,133.597 ↓ 69.4 3,400 1

Nested Loop Left Join (cost=35.86..8,052.26 rows=49 width=1,250) (actual time=44.123..2,133.597 rows=3,400 loops=1)

  • Join Filter: ((dch.file_id = di.file_id) AND (dch.combination_id = (cr.combination_id)::numeric))
  • Buffers: shared hit=56648
4. 1,103.324 2,087.520 ↓ 69.4 3,400 1

Nested Loop Left Join (cost=35.86..3,125.88 rows=49 width=1,234) (actual time=1.146..2,087.520 rows=3,400 loops=1)

  • Join Filter: ((cs.combination_id = (cr.combination_id)::numeric) AND (cs.slider_id = (sr.slider_id)::numeric))
  • Rows Removed by Join Filter: 4035800
  • Buffers: shared hit=54437
5. 3.952 4.996 ↓ 69.4 3,400 1

Hash Right Join (cost=35.44..253.13 rows=49 width=1,216) (actual time=0.386..4.996 rows=3,400 loops=1)

  • Hash Cond: ((sr.analysis_id = a.id) AND (sr.combination_id = cr.combination_id))
  • Buffers: shared hit=37
6. 0.772 0.772 ↑ 1.0 680 1

Index Scan using idx_slider_result_a_id on slider_result sr (cost=0.42..200.32 rows=692 width=31) (actual time=0.090..0.772 rows=680 loops=1)

  • Index Cond: (analysis_id = 1349)
  • Buffers: shared hit=21
7. 0.034 0.272 ↓ 2.5 20 1

Hash (cost=34.90..34.90 rows=8 width=1,189) (actual time=0.272..0.272 rows=20 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 12kB
  • Buffers: shared hit=16
8. 0.013 0.238 ↓ 2.5 20 1

Nested Loop Left Join (cost=15.04..34.90 rows=8 width=1,189) (actual time=0.209..0.238 rows=20 loops=1)

  • Join Filter: (a.id = cr.analysis_id)
  • Buffers: shared hit=16
9. 0.063 0.188 ↑ 1.0 1 1

Hash Right Join (cost=14.76..18.22 rows=1 width=642) (actual time=0.176..0.188 rows=1 loops=1)

  • Hash Cond: ((di.id)::numeric = d.label_id)
  • Buffers: shared hit=13
10. 0.017 0.017 ↑ 1.0 97 1

Seq Scan on dictionary_import di (cost=0.00..2.97 rows=97 width=23) (actual time=0.007..0.017 rows=97 loops=1)

  • Buffers: shared hit=2
11. 0.005 0.108 ↑ 1.0 1 1

Hash (cost=14.74..14.74 rows=1 width=623) (actual time=0.108..0.108 rows=1 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
  • Buffers: shared hit=8
12. 0.030 0.103 ↑ 1.0 1 1

Hash Right Join (cost=8.30..14.74 rows=1 width=623) (actual time=0.098..0.103 rows=1 loops=1)

  • Hash Cond: (d.id = a.dataset_id)
  • Buffers: shared hit=8
13. 0.036 0.036 ↓ 1.0 109 1

Seq Scan on dictionary_dataset d (cost=0.00..6.04 rows=104 width=525) (actual time=0.011..0.036 rows=109 loops=1)

  • Buffers: shared hit=5
14. 0.006 0.037 ↑ 1.0 1 1

Hash (cost=8.29..8.29 rows=1 width=102) (actual time=0.037..0.037 rows=1 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
  • Buffers: shared hit=3
15. 0.031 0.031 ↑ 1.0 1 1

Index Scan using idx_analysis_id on analysis a (cost=0.28..8.29 rows=1 width=102) (actual time=0.031..0.031 rows=1 loops=1)

  • Index Cond: (id = 1349)
  • Buffers: shared hit=3
16. 0.037 0.037 ↓ 2.5 20 1

Index Scan using idx_comb_result_a_id on combination_result cr (cost=0.29..16.58 rows=8 width=551) (actual time=0.028..0.037 rows=20 loops=1)

  • Index Cond: (analysis_id = 1349)
  • Buffers: shared hit=3
17. 979.200 979.200 ↓ 1.6 1,188 3,400

Index Scan using idx_dict_comb_slider_file_id on dictionary_combination_slider cs (cost=0.42..43.95 rows=734 width=24) (actual time=0.013..0.288 rows=1,188 loops=3,400)

  • Index Cond: (di.file_id = file_id)
  • Buffers: shared hit=54400
18. 1.241 44.200 ↓ 0.0 0 3,400

Materialize (cost=0.00..4,925.40 rows=1 width=26) (actual time=0.013..0.013 rows=0 loops=3,400)

  • Buffers: shared hit=2211
19. 42.959 42.959 ↓ 0.0 0 1

Seq Scan on dictionary_combination_headers dch (cost=0.00..4,925.40 rows=1 width=26) (actual time=42.959..42.959 rows=0 loops=1)

  • Filter: (language_id = 1)
  • Rows Removed by Filter: 217152
  • Buffers: shared hit=2211
20. 0.000 3.400 ↓ 0.0 0 3,400

Materialize (cost=0.00..1,368.31 rows=1 width=110) (actual time=0.001..0.001 rows=0 loops=3,400)

  • Buffers: shared hit=336
21. 0.000 4.317 ↓ 0.0 0 1

Nested Loop (cost=0.00..1,368.31 rows=1 width=110) (actual time=4.317..4.317 rows=0 loops=1)

  • Join Filter: ((sl.file_id = p.file_id) AND (sl.granulation_type_id = p.type_id))
  • Buffers: shared hit=336
22. 0.001 4.317 ↓ 0.0 0 1

Nested Loop (cost=0.00..572.20 rows=1 width=115) (actual time=4.317..4.317 rows=0 loops=1)

  • Join Filter: ((sl.file_id)::numeric = ff.file_id)
  • Buffers: shared hit=336
23. 4.316 4.316 ↓ 0.0 0 1

Seq Scan on dictionary_slider sl (cost=0.00..568.98 rows=1 width=115) (actual time=4.316..4.316 rows=0 loops=1)

  • Filter: (language_id = 1)
  • Rows Removed by Filter: 18619
  • Buffers: shared hit=336
24. 0.000 0.000 ↓ 0.0 0

Seq Scan on dictionary_import ff (cost=0.00..3.21 rows=1 width=5) (never executed)

  • Filter: (id = 123)
25. 0.000 0.000 ↓ 0.0 0

Seq Scan on dictionary_period p (cost=0.00..796.09 rows=1 width=17) (never executed)