explain.depesz.com

PostgreSQL's explain analyze made readable

Result: eMMi

Settings
# exclusive inclusive rows x rows loops node
1. 0.001 194.459 ↓ 0.0 0 1

Unique (cost=16,920.34..16,920.39 rows=1 width=132) (actual time=194.459..194.459 rows=0 loops=1)

  • Output: exstep0.exestep_id, exstep0.lobj_id, exstep0.step_id, exstep0.status, ((SubPlan 1)), wfl1.wfl_name, exstep0.ts_stepended, exstep0.exestep_info, ((SubPlan 2)), exstep0.queueentryid, exstep0.wflinst_id, ((SubPlan 3)), ((SubPlan 4)), exstep0.step_bypass, exstep0.ts_stepbegun
  • Buffers: shared hit=3769
2. 0.012 194.458 ↓ 0.0 0 1

Sort (cost=16,920.34..16,920.35 rows=1 width=132) (actual time=194.458..194.458 rows=0 loops=1)

  • Output: exstep0.exestep_id, exstep0.lobj_id, exstep0.step_id, exstep0.status, ((SubPlan 1)), wfl1.wfl_name, exstep0.ts_stepended, exstep0.exestep_info, ((SubPlan 2)), exstep0.queueentryid, exstep0.wflinst_id, ((SubPlan 3)), ((SubPlan 4)), exstep0.step_bypass, exstep0.ts_stepbegun
  • Sort Key: exstep0.lobj_id, exstep0.exestep_id, exstep0.step_id, ((SubPlan 1)), wfl1.wfl_name, exstep0.ts_stepended, exstep0.exestep_info, ((SubPlan 2)), exstep0.queueentryid, exstep0.wflinst_id, ((SubPlan 3)), ((SubPlan 4)), exstep0.step_bypass, exstep0.ts_stepbegun
  • Sort Method: quicksort Memory: 25kB
  • Buffers: shared hit=3769
3. 0.001 194.446 ↓ 0.0 0 1

Nested Loop (cost=16,506.84..16,920.33 rows=1 width=132) (actual time=194.446..194.446 rows=0 loops=1)

  • Output: exstep0.exestep_id, exstep0.lobj_id, exstep0.step_id, exstep0.status, (SubPlan 1), wfl1.wfl_name, exstep0.ts_stepended, exstep0.exestep_info, (SubPlan 2), exstep0.queueentryid, exstep0.wflinst_id, (SubPlan 3), (SubPlan 4), exstep0.step_bypass, exstep0.ts_stepbegun
  • Buffers: shared hit=3769
4. 0.001 194.445 ↓ 0.0 0 1

Nested Loop (cost=16,506.43..16,884.55 rows=1 width=104) (actual time=194.445..194.445 rows=0 loops=1)

  • Output: exstep0.exestep_id, exstep0.lobj_id, exstep0.step_id, exstep0.status, exstep0.ts_stepended, exstep0.exestep_info, exstep0.queueentryid, exstep0.wflinst_id, exstep0.step_bypass, exstep0.ts_stepbegun, wflinst.wfl_id
  • Buffers: shared hit=3769
5. 0.003 194.444 ↓ 0.0 0 1

Bitmap Heap Scan on dalimes.exestep exstep0 (cost=16,505.99..16,876.08 rows=1 width=100) (actual time=194.444..194.444 rows=0 loops=1)

  • Output: exstep0.exestep_id, exstep0.wflinst_id, exstep0.lobj_id, exstep0.step_id, exstep0.task_id, exstep0.resultref_id, exstep0.status, exstep0.virtualstatus, exstep0.ts_deletion, exstep0.queueentryid, exstep0.deviceid, exstep0.exestep_info, exstep0.vstatusaction, exstep0.ts_stepbegun, exstep0.ts_stepended, exstep0.ts_submit, exstep0.jdfdoc_id, exstep0.step_bypass
  • Recheck Cond: ((exstep0.ts_deletion = 0) AND (exstep0.wflinst_id = ANY ('{8424001,8423843,8399331,8423844,8423205,8423207,8423208,8423982,8423983,8423985,8423986,8423993,8423994,8423934,8423967}'::bigint[])) AND ((exstep0.status)::text = 'Held'::text))
  • Filter: (((SubPlan 5))::text = ANY ('{Dalim:ESPRiTTwistBase-()-,Dalim:ESPRiTApproval-()-}'::text[]))
  • Buffers: shared hit=3769
6. 0.013 194.441 ↓ 0.0 0 1

BitmapAnd (cost=16,505.99..16,505.99 rows=30 width=0) (actual time=194.441..194.441 rows=0 loops=1)

  • Buffers: shared hit=3769
7. 0.121 0.121 ↑ 25.0 226 1

Bitmap Index Scan on ix_exestep_wflinst (cost=0.00..184.91 rows=5,640 width=0) (actual time=0.121..0.121 rows=226 loops=1)

  • Index Cond: ((exstep0.ts_deletion = 0) AND (exstep0.wflinst_id = ANY ('{8424001,8423843,8399331,8423844,8423205,8423207,8423208,8423982,8423983,8423985,8423986,8423993,8423994,8423934,8423967}'::bigint[])))
  • Buffers: shared hit=63
8. 194.307 194.307 ↓ 1.4 851,000 1

Bitmap Index Scan on ix_exestep_status (cost=0.00..16,320.83 rows=600,035 width=0) (actual time=194.307..194.307 rows=851,000 loops=1)

  • Index Cond: ((exstep0.status)::text = 'Held'::text)
  • Buffers: shared hit=3706
9.          

SubPlan (forBitmap Heap Scan)

10. 0.000 0.000 ↓ 0.0 0

Index Scan using ix_step_ic_subclass on dalimes.step step_2 (cost=0.29..8.31 rows=1 width=26) (never executed)

  • Output: step_2.step_classname
  • Index Cond: (step_2.step_id = exstep0.step_id)
11. 0.000 0.000 ↓ 0.0 0

Index Scan using ixu_wflinstance_id on dalimes.wflinstance wflinst (cost=0.43..8.45 rows=1 width=12) (never executed)

  • Output: wflinst.wflinst_id, wflinst.wfl_id, wflinst.wflinst_obj, wflinst.wflinst_tpl, wflinst.priority, wflinst.wflinst_starttime, wflinst.wflinst_orgobj, wflinst.status, wflinst.virtualstatus, wflinst.vstatusaction, wflinst.ts_deletion, wflinst.execounter
  • Index Cond: ((wflinst.ts_deletion = 0) AND (wflinst.wflinst_id = exstep0.wflinst_id))
12. 0.000 0.000 ↓ 0.0 0

Index Only Scan using ix_wfl_idname on dalimes.wfl wfl1 (cost=0.41..2.26 rows=1 width=36) (never executed)

  • Output: wfl1.wfl_id, wfl1.ts_deletion, wfl1.wfl_name
  • Index Cond: ((wfl1.wfl_id = wflinst.wfl_id) AND (wfl1.ts_deletion = 0))
  • Filter: ((wfl1.wfl_id < 0) OR (wfl1.wfl_id > 0))
  • Heap Fetches: 0
13.          

SubPlan (forNested Loop)

14. 0.000 0.000 ↓ 0.0 0

Index Scan using ix_step_ic_subclass on dalimes.step (cost=0.29..8.31 rows=1 width=2) (never executed)

  • Output: step.step_subclass
  • Index Cond: (step.step_id = exstep0.step_id)
15. 0.000 0.000 ↓ 0.0 0

Index Scan using ix_step_ic_subclass on dalimes.step step_1 (cost=0.29..8.31 rows=1 width=11) (never executed)

  • Output: step_1.step_name
  • Index Cond: (step_1.step_id = exstep0.step_id)
16. 0.000 0.000 ↓ 0.0 0

Index Only Scan using ix_wflstruct_childid on dalimes.wflstruct (cost=0.42..8.44 rows=1 width=4) (never executed)

  • Output: wflstruct.levelnb
  • Index Cond: ((wflstruct.ts_deletion = 0) AND (wflstruct.child_id = exstep0.step_id) AND (wflstruct.parent_id = 0))
  • Heap Fetches: 0
17. 0.000 0.000 ↓ 0.0 0

Index Scan using ixu_wflinstance_id on dalimes.wflinstance winst (cost=0.43..8.45 rows=1 width=8) (never executed)

  • Output: winst.wflinst_orgobj
  • Index Cond: ((winst.ts_deletion = 0) AND (winst.wflinst_id = exstep0.wflinst_id))