explain.depesz.com

PostgreSQL's explain analyze made readable

Result: TBwp

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

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

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

Nested Loop Left Join (cost=35.86..9,422.16 rows=49 width=1,338) (actual time=36.459..2,071.519 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. 1.402 2,062.306 ↓ 69.4 3,400 1

Nested Loop Left Join (cost=35.86..8,052.26 rows=49 width=1,250) (actual time=33.458..2,062.306 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. 1,067.421 2,026.904 ↓ 69.4 3,400 1

Nested Loop Left Join (cost=35.86..3,125.88 rows=49 width=1,234) (actual time=0.771..2,026.904 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.326 4.083 ↓ 69.4 3,400 1

Hash Right Join (cost=35.44..253.13 rows=49 width=1,216) (actual time=0.205..4.083 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.571 0.571 ↑ 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.010..0.571 rows=680 loops=1)

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

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

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

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

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

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

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

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

  • Buffers: shared hit=2
11. 0.003 0.095 ↑ 1.0 1 1

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

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

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

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

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

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

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

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

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

  • Index Cond: (analysis_id = 1349)
  • Buffers: shared hit=3
17. 955.400 955.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.013..0.281 rows=1,188 loops=3,400)

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

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

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

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

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

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

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

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

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