explain.depesz.com

PostgreSQL's explain analyze made readable

Result: PNiO

Settings
# exclusive inclusive rows x rows loops node
1. 25.000 527,467.512 ↓ 30.9 12,391 1

Sort (cost=122,032.19..122,033.20 rows=401 width=89) (actual time=527,466.727..527,467.512 rows=12,391 loops=1)

  • Output: m.measurement_id, m.start_time, m.stop_time, m.comment, m.measurement_name, m.measurement_guid
  • Sort Key: m.start_time DESC
  • Sort Method: quicksort Memory: 2501kB
  • Worker 0: Sort Method: quicksort Memory: 2501kB
  • Buffers: shared hit=129082 read=47835 dirtied=144
2. 22.697 527,442.512 ↓ 33.6 13,464 1

Nested Loop Semi Join (cost=1.44..122,014.85 rows=401 width=89) (actual time=41.506..527,442.512 rows=13,464 loops=1)

  • Output: m.measurement_id, m.start_time, m.stop_time, m.comment, m.measurement_name, m.measurement_guid
  • Buffers: shared hit=129075 read=47835 dirtied=144
3. 31.094 2,027.607 ↑ 1.1 13,464 1

Nested Loop (cost=0.87..110,306.08 rows=15,478 width=93) (actual time=10.197..2,027.607 rows=13,464 loops=1)

  • Output: m.measurement_id, m.start_time, m.stop_time, m.comment, m.measurement_name, m.measurement_guid, measurements.measurement_id
  • Inner Unique: true
  • Buffers: shared hit=57389 read=306
4. 1,754.161 1,754.161 ↑ 1.1 13,464 1

Parallel Index Scan using idx_measurements_start_time on public.measurements (cost=0.44..5,906.12 rows=15,478 width=4) (actual time=0.902..1,754.161 rows=13,464 loops=1)

  • Output: measurements.measurement_id, measurements.start_time, measurements.stop_time, measurements.comment, measurements.measurement_name, measurements.measurement_guid
  • Index Cond: ((measurements.start_time > '2019-01-21 00:00:00'::timestamp without time zone) AND (measurements.start_time < '2019-01-28 00:00:00'::timestamp without time zone))
  • Buffers: shared hit=3530 read=271
5. 242.352 242.352 ↑ 1.0 1 13,464

Index Scan using pkey_measurements on public.measurements m (cost=0.44..6.75 rows=1 width=89) (actual time=0.018..0.018 rows=1 loops=13,464)

  • Output: m.measurement_id, m.start_time, m.stop_time, m.comment, m.measurement_name, m.measurement_guid
  • Index Cond: (m.measurement_id = measurements.measurement_id)
  • Buffers: shared hit=53859 read=35
6. 525,392.208 525,392.208 ↑ 196.0 1 13,464

Index Scan using idx_measurement_files_measurement_id on public.measurement_files (cost=0.56..37.06 rows=196 width=4) (actual time=39.022..39.022 rows=1 loops=13,464)

  • Output: measurement_files.file_id, measurement_files.measurement_id, measurement_files.mount_point_id, measurement_files.file_type, measurement_files.file_name, measurement_files.comment, measurement_files.file_status, measurement_files.file_version, measurement_files.archive_name, measurement_files.file_size, measurement_files.file_guid, measurement_files.file_flags
  • Index Cond: (measurement_files.measurement_id = measurements.measurement_id)
  • Filter: (measurement_files.mount_point_id = ANY ('{1,2,3,4,5,6,7,8,9,10}'::integer[]))
  • Buffers: shared hit=71686 read=47529 dirtied=144