explain.depesz.com

PostgreSQL's explain analyze made readable

Result: iqgd

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

Limit (cost=63,063.11..63,063.11 rows=1 width=140) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Nested Loop (cost=3,208.15..63,063.11 rows=1 width=140) (actual rows= loops=)

3. 0.000 0.000 ↓ 0.0

Nested Loop Semi Join (cost=3,208.15..63,054.60 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=162.03..53,079.36 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,839.53 rows=118,886 width=50) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Materialize (cost=162.03..6,273.81 rows=14 width=8) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on sas_wf_operand o (cost=162.03..6,273.74 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..162.03 rows=2,878 width=0) (actual rows= loops=)

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

Materialize (cost=3,046.12..9,963.27 rows=57 width=8) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

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

11. 0.000 0.000 ↓ 0.0

Hash Join (cost=3,046.12..9,913.18 rows=70 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..5,170.83 rows=117,687 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,972.22..2,972.22 rows=5,912 width=20) (actual rows= loops=)

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

Bitmap Heap Scan on sas_wf_process p (cost=262.92..2,972.22 rows=5,912 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..261.44 rows=6,020 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.07 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.50 rows=1 width=106) (actual rows= loops=)

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