explain.depesz.com

PostgreSQL's explain analyze made readable

Result: AEkJ

Settings
# exclusive inclusive rows x rows loops node
1. 9.709 1,956.247 ↓ 69.4 3,400 1

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

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

Nested Loop Left Join (cost=35.86..9,422.16 rows=49 width=1,338) (actual time=34.074..1,946.538 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=56981
3. 2.598 1,937.840 ↓ 69.4 3,400 1

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

  • Join Filter: ((dch.file_id = di.file_id) AND (dch.combination_id = (cr.combination_id)::numeric))
  • Buffers: shared hit=56645
4. 996.094 1,904.642 ↓ 69.4 3,400 1

Nested Loop Left Join (cost=35.86..3,125.88 rows=49 width=1,234) (actual time=0.891..1,904.642 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=54434
5. 3.496 4.148 ↓ 69.4 3,400 1

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

  • Hash Cond: ((sr.analysis_id = a.id) AND (sr.combination_id = cr.combination_id))
  • Buffers: shared hit=34
6. 0.442 0.442 ↑ 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.016..0.442 rows=680 loops=1)

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

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

  • Buckets: 1024 Batches: 1 Memory Usage: 12kB
  • Buffers: shared hit=13
8. 0.007 0.192 ↓ 2.5 20 1

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

  • Join Filter: (a.id = cr.analysis_id)
  • Buffers: shared hit=13
9. 0.035 0.128 ↑ 1.0 1 1

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

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

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

  • Buffers: shared hit=2
11. 0.020 0.082 ↑ 1.0 1 1

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

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

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

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

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

  • Buffers: shared hit=5
14. 0.004 0.024 ↑ 1.0 1 1

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

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
  • Buffers: shared hit=3
15. 0.020 0.020 ↑ 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.020..0.020 rows=1 loops=1)

  • Index Cond: (id = 1349)
  • Buffers: shared hit=3
16. 0.057 0.057 ↓ 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.051..0.057 rows=20 loops=1)

  • Index Cond: (analysis_id = 1349)
  • Buffers: shared hit=3
17. 904.400 904.400 ↓ 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.012..0.266 rows=1,188 loops=3,400)

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

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

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

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

  • Filter: (language_id = 1)
  • Rows Removed by Filter: 217152
  • Buffers: shared hit=2211
20. 0.760 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.001 2.640 ↓ 0.0 0 1

Nested Loop (cost=0.00..1,368.31 rows=1 width=110) (actual time=2.640..2.640 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 2.639 ↓ 0.0 0 1

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

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

Seq Scan on dictionary_slider sl (cost=0.00..568.98 rows=1 width=115) (actual time=2.638..2.638 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)