explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 2T6F

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 0.000 ↓ 0.0

Limit (cost=61,833.98..61,833.98 rows=1 width=141) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Nested Loop (cost=3,195.08..61,833.98 rows=1 width=141) (actual rows= loops=)

3. 0.000 0.000 ↓ 0.0

Nested Loop Semi Join (cost=3,195.08..61,825.47 rows=1 width=66) (actual rows= loops=)

  • Join Filter: (rp.real_id = p.root_process_id)
4. 0.000 0.000 ↓ 0.0

Nested Loop Semi Join (cost=157.00..52,203.59 rows=14 width=58) (actual rows= loops=)

  • Join Filter: (rp.real_id = o.process_id)
5. 0.000 0.000 ↓ 0.0

Index Scan using sas_wf_process_workflow_object_id_key on sas_wf_process rp (cost=0.00..21,699.92 rows=116,239 width=50) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Materialize (cost=157.00..6,093.51 rows=14 width=8) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on sas_wf_operand o (cost=157.00..6,093.44 rows=14 width=8) (actual rows= loops=)

  • Recheck Cond: ((label_nm)::text = ($38)::text)
  • Filter: ((index_value_txt)::text ~~ ($39)::text)
8. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on operand_label_ix (cost=0.00..157.00 rows=2,741 width=0) (actual rows= loops=)

  • Index Cond: ((label_nm)::text = ($38)::text)
9. 0.000 0.000 ↓ 0.0

Materialize (cost=3,038.08..9,609.91 rows=57 width=8) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Nested Loop Anti Join (cost=3,038.08..9,609.63 rows=57 width=8) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Hash Join (cost=3,038.08..9,560.34 rows=69 width=16) (actual rows= loops=)

  • Hash Cond: (a.assignee_id = p.real_id)
  • Join Filter: (((p.is_locked_flg = 0) AND (a.type_no = $1) AND ((a.role_nm)::text = ($2)::text) AND ((a.name_nm)::text = ($3)::text)) OR ((a.type_no = $4) AND ((a.role_nm)::text = ($5)::text) AND ((a.name_nm)::text = ($6)::text)) OR ((a.type_no = $7) AND ((a.role_nm)::text = ($8)::text) AND ((a.name_nm)::text = ($9)::text)) OR ((p.is_locked_flg = 0) AND (a.type_no = $10) AND ((a.role_nm)::text = ($11)::text) AND ((a.name_nm)::text = ANY ((ARRAY[$12, $13, $14])::text[]))) OR ((a.type_no = $15) AND ((a.role_nm)::text = ($16)::text) AND ((a.name_nm)::text = ANY ((ARRAY[$17, $18, $19])::text[]))) OR ((a.type_no = $20) AND ((a.role_nm)::text = ($21)::text) AND ((a.name_nm)::text = ANY ((ARRAY[$22, $23, $24])::text[]))) OR ((p.is_locked_flg = 0) AND (a.type_no = $25) AND ((a.role_nm)::text = ($26)::text) AND ((a.name_nm)::text = ANY ((ARRAY[$27, $28])::text[]))) OR ((a.type_no = $29) AND ((a.role_nm)::text = ($30)::text) AND ((a.name_nm)::text = ANY ((ARRAY[$31, $32])::text[]))) OR ((a.type_no = $33) AND ((a.role_nm)::text = ($34)::text) AND ((a.name_nm)::text = ANY ((ARRAY[$35, $36])::text[]))))
12. 0.000 0.000 ↓ 0.0

Seq Scan on sas_wf_process_ace a (cost=0.00..4,907.53 rows=111,924 width=35) (actual rows= loops=)

  • Filter: ((type_no = $1) OR (type_no = $4) OR (type_no = $7) OR (type_no = $10) OR (type_no = $15) OR (type_no = $20) OR (type_no = $25) OR (type_no = $29) OR (type_no = $33))
13. 0.000 0.000 ↓ 0.0

Hash (cost=2,965.60..2,965.60 rows=5,798 width=20) (actual rows= loops=)

  • Buckets: 1024 Batches: 1 Memory Usage: 330kB
14. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on sas_wf_process p (cost=258.03..2,965.60 rows=5,798 width=20) (actual rows= loops=)

  • Recheck Cond: (state_no = 2)
  • Filter: (is_definition_flg = 0)
15. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on process_state_ix (cost=0.00..256.58 rows=5,905 width=0) (actual rows= loops=)

  • Index Cond: (state_no = 2)
16. 0.000 0.000 ↓ 0.0

Index Scan using process_parent_ix on sas_wf_process sp (cost=0.00..3.10 rows=5 width=8) (actual rows= loops=)

  • Index Cond: (p.real_id = parent_id)
17. 0.000 0.000 ↓ 0.0

Index Scan using operand_pid_ln_ix on sas_wf_operand rop (cost=0.00..8.49 rows=1 width=107) (actual rows= loops=)

  • Index Cond: ((process_id = rp.real_id) AND ((label_nm)::text = ($37)::text))