explain.depesz.com

PostgreSQL's explain analyze made readable

Result: LxVf

Settings
# exclusive inclusive rows x rows loops node
1. 0.029 62.465 ↑ 1.0 1 1

Aggregate (cost=3,487.72..3,487.73 rows=1 width=8) (actual time=62.465..62.465 rows=1 loops=1)

  • Output: count(*)
  • Buffers: shared hit=2769 read=107
2. 0.084 62.436 ↓ 338.0 338 1

Sort (cost=3,487.71..3,487.71 rows=1 width=12) (actual time=62.416..62.436 rows=338 loops=1)

  • Output: NULL::integer, model_output.recommended
  • Sort Key: model_output.recommended
  • Sort Method: quicksort Memory: 40kB
  • Buffers: shared hit=2769 read=107
3. 0.107 62.352 ↓ 338.0 338 1

Nested Loop Anti Join (cost=69.52..3,487.70 rows=1 width=12) (actual time=52.950..62.352 rows=338 loops=1)

  • Output: NULL::integer, model_output.recommended
  • Buffers: shared hit=2769 read=107
4. 4.722 61.887 ↓ 358.0 358 1

Hash Join (cost=69.38..3,487.46 rows=1 width=12) (actual time=51.991..61.887 rows=358 loops=1)

  • Output: model_richness_set.fileindex, model_output.recommended
  • Hash Cond: (model_output.matrixindex = matrix_map.matrixindex)
  • Buffers: shared hit=2390 read=107
5. 13.856 13.856 ↓ 1.0 37,369 1

Seq Scan on public.model_output (cost=0.00..3,278.25 rows=37,285 width=12) (actual time=8.652..13.856 rows=37,369 loops=1)

  • Output: model_output.seq_id, model_output.model_version_id, model_output.matrixindex, model_output.recommended, model_output.predicted, model_output.date_transferred, model_output.hash_val
  • Filter: (model_output.model_version_id = 4)
  • Rows Removed by Filter: 112651
  • Buffers: shared hit=1403
6. 0.208 43.309 ↓ 358.0 358 1

Hash (cost=69.37..69.37 rows=1 width=8) (actual time=43.309..43.309 rows=358 loops=1)

  • Output: model_richness_set.fileindex, matrix_map.matrixindex
  • Buckets: 1024 Batches: 1 Memory Usage: 22kB
  • Buffers: shared hit=987 read=107
7. 0.360 43.101 ↓ 358.0 358 1

Nested Loop (cost=57.94..69.37 rows=1 width=8) (actual time=0.584..43.101 rows=358 loops=1)

  • Output: model_richness_set.fileindex, matrix_map.matrixindex
  • Buffers: shared hit=987 read=107
8. 0.234 0.855 ↓ 358.0 358 1

Hash Anti Join (cost=57.65..65.93 rows=1 width=4) (actual time=0.555..0.855 rows=358 loops=1)

  • Output: model_richness_set.fileindex
  • Hash Cond: (model_richness_set.fileindex = tags.fileindex)
  • Buffers: shared hit=19
9. 0.089 0.089 ↑ 1.0 384 1

Seq Scan on public.model_richness_set (cost=0.00..6.84 rows=384 width=4) (actual time=0.018..0.089 rows=384 loops=1)

  • Output: model_richness_set.fileindex, model_richness_set.date_created
  • Buffers: shared hit=3
10. 0.290 0.532 ↑ 1.0 1,851 1

Hash (cost=34.51..34.51 rows=1,851 width=4) (actual time=0.532..0.532 rows=1,851 loops=1)

  • Output: tags.fileindex
  • Buckets: 2048 Batches: 1 Memory Usage: 82kB
  • Buffers: shared hit=16
11. 0.242 0.242 ↑ 1.0 1,851 1

Seq Scan on public.tags (cost=0.00..34.51 rows=1,851 width=4) (actual time=0.007..0.242 rows=1,851 loops=1)

  • Output: tags.fileindex
  • Buffers: shared hit=16
12. 41.886 41.886 ↑ 1.0 1 358

Index Scan using matrix_map_fileindex on public.matrix_map (cost=0.29..3.43 rows=1 width=8) (actual time=0.117..0.117 rows=1 loops=358)

  • Output: matrix_map.matrixindex, matrix_map.fileindex
  • Index Cond: (matrix_map.fileindex = model_richness_set.fileindex)
  • Buffers: shared hit=968 read=107
13. 0.358 0.358 ↓ 0.0 0 358

Index Only Scan using ix_reserved_docs_fileindex on public.reserved_docs (cost=0.14..0.19 rows=1 width=8) (actual time=0.001..0.001 rows=0 loops=358)

  • Output: reserved_docs.fileindex
  • Index Cond: (reserved_docs.fileindex = model_richness_set.fileindex)
  • Heap Fetches: 20
  • Buffers: shared hit=379