explain.depesz.com

PostgreSQL's explain analyze made readable

Result: emrQ

Settings
# exclusive inclusive rows x rows loops node
1. 71.180 394.730 ↑ 5.3 126,720 1

Sort (cost=1,353,041.24..1,354,719.28 rows=671,215 width=185) (actual time=372.678..394.730 rows=126,720 loops=1)

  • Sort Key: signal."timestamp
  • Sort Method: quicksort Memory: 20893kB
2. 138.656 323.550 ↑ 5.3 126,720 1

HashAggregate (cost=1,281,367.51..1,288,079.66 rows=671,215 width=185) (actual time=269.526..323.550 rows=126,720 loops=1)

  • Group Key: signal.signal_id, parameter.name, parameter.unit, source_type.name, source.name, source.serial, site.name
3. 28.799 184.894 ↑ 5.3 126,720 1

Hash Join (cost=1,249,443.62..1,267,943.21 rows=671,215 width=181) (actual time=85.356..184.894 rows=126,720 loops=1)

  • Hash Cond: (signal.parameter_id = parameter.parameter_id)
4. 30.127 156.065 ↑ 5.3 126,720 1

Hash Left Join (cost=1,249,441.49..1,258,711.87 rows=671,215 width=121) (actual time=85.312..156.065 rows=126,720 loops=1)

  • Hash Cond: (signal.site_id = site.site_id)
5. 44.563 125.892 ↑ 5.3 126,720 1

Hash Right Join (cost=1,249,438.37..1,249,479.54 rows=671,215 width=93) (actual time=85.239..125.892 rows=126,720 loops=1)

  • Hash Cond: (signals_comments_association.signal_id = signal.signal_id)
6. 0.005 0.005 ↓ 0.0 0 1

Seq Scan on signals_comments_association (cost=0.00..32.60 rows=2,260 width=8) (actual time=0.005..0.005 rows=0 loops=1)

7. 38.086 81.324 ↑ 5.3 126,720 1

Hash (cost=1,241,048.18..1,241,048.18 rows=671,215 width=89) (actual time=81.324..81.324 rows=126,720 loops=1)

  • Buckets: 1048576 Batches: 1 Memory Usage: 20196kB
8. 17.550 43.238 ↑ 5.3 126,720 1

Nested Loop (cost=18,917.79..1,241,048.18 rows=671,215 width=89) (actual time=10.677..43.238 rows=126,720 loops=1)

9. 0.021 0.067 ↑ 1.0 1 1

Hash Join (cost=3.23..4.52 rows=1 width=65) (actual time=0.058..0.067 rows=1 loops=1)

  • Hash Cond: (source_type.source_type_id = source.source_type_id)
10. 0.023 0.023 ↑ 1.0 21 1

Seq Scan on source_type (cost=0.00..1.21 rows=21 width=36) (actual time=0.018..0.023 rows=21 loops=1)

11. 0.003 0.023 ↑ 1.0 1 1

Hash (cost=3.21..3.21 rows=1 width=37) (actual time=0.023..0.023 rows=1 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
12. 0.020 0.020 ↑ 1.0 1 1

Seq Scan on source (cost=0.00..3.21 rows=1 width=37) (actual time=0.012..0.020 rows=1 loops=1)

  • Filter: ((name)::text = 'bf_f06_11e_russikerstr'::text)
  • Rows Removed by Filter: 96
13. 15.187 25.621 ↑ 5.3 126,720 1

Bitmap Heap Scan on signal (cost=18,914.56..1,234,331.51 rows=671,215 width=32) (actual time=10.615..25.621 rows=126,720 loops=1)

  • Recheck Cond: ((source_id = source.source_id) AND ('2018-06-01 00:00:00'::timestamp without time zone <= "timestamp") AND ("timestamp" <= '2019-03-07 16:56:51'::timestamp without time zone))
  • Heap Blocks: exact=1374
14. 10.434 10.434 ↑ 5.3 126,720 1

Bitmap Index Scan on ix_timetamp_source_id (cost=0.00..18,746.76 rows=671,215 width=0) (actual time=10.434..10.434 rows=126,720 loops=1)

  • Index Cond: ((source_id = source.source_id) AND ('2018-06-01 00:00:00'::timestamp without time zone <= "timestamp") AND ("timestamp" <= '2019-03-07 16:56:51'::timestamp without time zone))
15. 0.019 0.046 ↑ 1.0 50 1

Hash (cost=2.50..2.50 rows=50 width=36) (actual time=0.046..0.046 rows=50 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 11kB
16. 0.027 0.027 ↑ 1.0 50 1

Seq Scan on site (cost=0.00..2.50 rows=50 width=36) (actual time=0.013..0.027 rows=50 loops=1)

17. 0.010 0.030 ↑ 1.0 50 1

Hash (cost=1.50..1.50 rows=50 width=68) (actual time=0.030..0.030 rows=50 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 11kB
18. 0.020 0.020 ↑ 1.0 50 1

Seq Scan on parameter (cost=0.00..1.50 rows=50 width=68) (actual time=0.010..0.020 rows=50 loops=1)