explain.depesz.com

PostgreSQL's explain analyze made readable

Result: xGUJ

Settings
# exclusive inclusive rows x rows loops node
1. 17,735.186 405,198.809 ↓ 0.0 0 1

Update on opus_c_local.ci_objects_set (cost=0.43..91,978.12 rows=1 width=1,074) (actual time=405,198.809..405,198.809 rows=0 loops=1)

  • Buffers: shared hit=42,269,196 read=15,362 dirtied=24,384
2. 80,359.866 387,463.623 ↓ 4,115,991.0 4,115,991 1

Nested Loop Anti Join (cost=0.43..91,978.12 rows=1 width=1,074) (actual time=0.142..387,463.623 rows=4,115,991 loops=1)

  • Output: ci_objects_set.set_name, ci_objects_set.object_id, ci_objects_set.object_guid, ci_objects_set.object_shortguid, 0, ci_objects_set.ctid, op.ctid, aps.ctid, aps2.ctid
  • Join Filter: (aps2.idpro = op.idobj)
  • Rows Removed by Join Filter: 712,066,443
  • Buffers: shared hit=35,282,498 read=7
3. 99,705.492 270,059.838 ↓ 4,115,991.0 4,115,991 1

Nested Loop (cost=0.43..91,968.93 rows=1 width=1,068) (actual time=0.050..270,059.838 rows=4,115,991 loops=1)

  • Output: ci_objects_set.set_name, ci_objects_set.object_id, ci_objects_set.object_guid, ci_objects_set.object_shortguid, ci_objects_set.ctid, op.ctid, op.idobj, aps.ctid
  • Join Filter: (op.idpro = aps.idpro)
  • Rows Removed by Join Filter: 919,531,874
  • Buffers: shared hit=35,282,494 read=7
4. 4,728.608 20,862.206 ↓ 5,339,005.0 5,339,005 1

Nested Loop (cost=0.43..91,961.03 rows=1 width=1,066) (actual time=0.034..20,862.206 rows=5,339,005 loops=1)

  • Output: ci_objects_set.set_name, ci_objects_set.object_id, ci_objects_set.object_guid, ci_objects_set.object_shortguid, ci_objects_set.ctid, op.ctid, op.idpro, op.idobj
  • Buffers: shared hit=13,926,474 read=7
5. 1,932.838 1,932.838 ↓ 2,840,152.0 2,840,152 1

Seq Scan on opus_c_local.ci_objects_set (cost=0.00..91,943.91 rows=1 width=1,052) (actual time=0.014..1,932.838 rows=2,840,152 loops=1)

  • Output: ci_objects_set.set_name, ci_objects_set.object_id, ci_objects_set.object_guid, ci_objects_set.object_shortguid, ci_objects_set.ctid
  • Filter: ((ci_objects_set.set_name)::text = 'OPUS_C'::text)
  • Rows Removed by Filter: 1
  • Buffers: shared hit=46,057
6. 14,200.760 14,200.760 ↑ 2.0 2 2,840,152

Index Scan using objpro_obj on opus_c_local.objpro op (cost=0.43..17.08 rows=4 width=14) (actual time=0.004..0.005 rows=2 loops=2,840,152)

  • Output: op.ctid, op.idpro, op.idobj
  • Index Cond: (op.idobj = ci_objects_set.object_id)
  • Buffers: shared hit=13,880,417 read=7
7. 149,492.140 149,492.140 ↑ 1.0 173 5,339,005

Seq Scan on opus_c_local.anaproset aps (cost=0.00..5.73 rows=173 width=10) (actual time=0.003..0.028 rows=173 loops=5,339,005)

  • Output: aps.ctid, aps.idpro
  • Buffers: shared hit=21,356,020
8. 37,043.884 37,043.919 ↑ 1.0 173 4,115,991

Materialize (cost=0.00..6.60 rows=173 width=10) (actual time=0.000..0.009 rows=173 loops=4,115,991)

  • Output: aps2.ctid, aps2.idpro
  • Buffers: shared hit=4
9. 0.035 0.035 ↑ 1.0 173 1

Seq Scan on opus_c_local.anaproset aps2 (cost=0.00..5.73 rows=173 width=10) (actual time=0.004..0.035 rows=173 loops=1)

  • Output: aps2.ctid, aps2.idpro
  • Buffers: shared hit=4