explain.depesz.com

PostgreSQL's explain analyze made readable

Result: Qgl4

Settings
# exclusive inclusive rows x rows loops node
1. 5.322 359.384 ↓ 54.6 2,346 1

Sort (cost=5,330.21..5,330.31 rows=43 width=968) (actual time=359.279..359.384 rows=2,346 loops=1)

  • Sort Key: cr.combination_id, sr.slider_id
  • Sort Method: quicksort Memory: 738kB
  • Buffers: shared hit=15032 read=9
2. 3.545 354.062 ↓ 54.6 2,346 1

Nested Loop Left Join (cost=25.99..5,329.04 rows=43 width=968) (actual time=15.792..354.062 rows=2,346 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=15029 read=9
3. 2.058 348.171 ↓ 54.6 2,346 1

Nested Loop Left Join (cost=25.99..4,706.57 rows=43 width=876) (actual time=12.895..348.171 rows=2,346 loops=1)

  • Join Filter: ((dch.file_id = di.file_id) AND (dch.combination_id = (cr.combination_id)::numeric))
  • Buffers: shared hit=14804 read=9
4. 172.650 334.383 ↓ 54.6 2,346 1

Nested Loop Left Join (cost=25.99..3,116.56 rows=43 width=860) (actual time=0.403..334.383 rows=2,346 loops=1)

  • Join Filter: ((cs.combination_id = (cr.combination_id)::numeric) AND (cs.slider_id = (sr.slider_id)::numeric))
  • Rows Removed by Join Filter: 699108
  • Buffers: shared hit=14091 read=9
5. 1.636 2.205 ↓ 54.6 2,346 1

Hash Right Join (cost=25.57..159.21 rows=43 width=842) (actual time=0.300..2.205 rows=2,346 loops=1)

  • Hash Cond: ((sr.analysis_id = a.id) AND (sr.combination_id = cr.combination_id))
  • Buffers: shared hit=16 read=8
6. 0.331 0.331 ↓ 1.2 391 1

Index Scan using idx_slider_result_a_id on slider_result sr (cost=0.42..121.19 rows=332 width=30) (actual time=0.050..0.331 rows=391 loops=1)

  • Index Cond: (analysis_id = 1349)
  • Buffers: shared hit=8 read=4
7. 0.018 0.238 ↓ 2.3 30 1

Hash (cost=24.95..24.95 rows=13 width=816) (actual time=0.238..0.238 rows=30 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 15kB
  • Buffers: shared hit=8 read=4
8. 0.015 0.220 ↓ 2.3 30 1

Nested Loop Left Join (cost=11.93..24.95 rows=13 width=816) (actual time=0.186..0.220 rows=30 loops=1)

  • Join Filter: (a.id = cr.analysis_id)
  • Buffers: shared hit=8 read=4
9. 0.045 0.157 ↑ 1.0 1 1

Hash Right Join (cost=11.64..13.69 rows=1 width=272) (actual time=0.141..0.157 rows=1 loops=1)

  • Hash Cond: ((di.id)::numeric = d.label_id)
  • Buffers: shared hit=7 read=2
10. 0.007 0.007 ↑ 1.0 69 1

Seq Scan on dictionary_import di (cost=0.00..1.69 rows=69 width=26) (actual time=0.004..0.007 rows=69 loops=1)

  • Buffers: shared hit=1
11. 0.010 0.105 ↑ 1.0 1 1

Hash (cost=11.63..11.63 rows=1 width=250) (actual time=0.105..0.105 rows=1 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
  • Buffers: shared hit=3 read=2
12. 0.019 0.095 ↑ 1.0 1 1

Hash Right Join (cost=8.30..11.63 rows=1 width=250) (actual time=0.075..0.095 rows=1 loops=1)

  • Hash Cond: (d.id = a.dataset_id)
  • Buffers: shared hit=3 read=2
13. 0.027 0.027 ↑ 1.0 96 1

Seq Scan on dictionary_dataset d (cost=0.00..2.96 rows=96 width=147) (actual time=0.011..0.027 rows=96 loops=1)

  • Buffers: shared hit=2
14. 0.006 0.049 ↑ 1.0 1 1

Hash (cost=8.29..8.29 rows=1 width=107) (actual time=0.049..0.049 rows=1 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
  • Buffers: shared hit=1 read=2
15. 0.043 0.043 ↑ 1.0 1 1

Index Scan using idx_analysis_id on analysis a (cost=0.27..8.29 rows=1 width=107) (actual time=0.042..0.043 rows=1 loops=1)

  • Index Cond: (id = 1349)
  • Buffers: shared hit=1 read=2
16. 0.048 0.048 ↓ 2.3 30 1

Index Scan using idx_comb_result_a_id on combination_result cr (cost=0.29..11.09 rows=13 width=548) (actual time=0.040..0.048 rows=30 loops=1)

  • Index Cond: (analysis_id = 1349)
  • Buffers: shared hit=1 read=2
17. 159.528 159.528 ↑ 3.1 299 2,346

Index Scan using idx_dict_comb_slider_file_id on dictionary_combination_slider cs (cost=0.42..50.38 rows=920 width=24) (actual time=0.020..0.068 rows=299 loops=2,346)

  • Index Cond: (di.file_id = file_id)
  • Buffers: shared hit=14075 read=1
18. 0.000 11.730 ↓ 0.0 0 2,346

Materialize (cost=0.00..1,589.16 rows=1 width=26) (actual time=0.005..0.005 rows=0 loops=2,346)

  • Buffers: shared hit=713
19. 12.477 12.477 ↓ 0.0 0 1

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

  • Filter: (language_id = 1)
  • Rows Removed by Filter: 70092
  • Buffers: shared hit=713
20. 0.000 2.346 ↓ 0.0 0 2,346

Materialize (cost=0.00..621.07 rows=1 width=114) (actual time=0.001..0.001 rows=0 loops=2,346)

  • Buffers: shared hit=225
21. 0.001 2.860 ↓ 0.0 0 1

Nested Loop (cost=0.00..621.07 rows=1 width=114) (actual time=2.860..2.860 rows=0 loops=1)

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

Nested Loop (cost=0.00..382.53 rows=1 width=119) (actual time=2.859..2.859 rows=0 loops=1)

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

Seq Scan on dictionary_slider sl (cost=0.00..380.65 rows=1 width=119) (actual time=2.858..2.858 rows=0 loops=1)

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

Seq Scan on dictionary_import ff (cost=0.00..1.86 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..238.53 rows=1 width=17) (never executed)