explain.depesz.com

PostgreSQL's explain analyze made readable

Result: E3Bj

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

Sort (cost=975,246.39..975,277.98 rows=12,633 width=1,227) (actual rows= loops=)

  • Sort Key: h.pi_start_time DESC
2. 0.000 0.000 ↓ 0.0

Subquery Scan on h (cost=951,783.44..967,606.28 rows=12,633 width=1,227) (actual rows= loops=)

3. 0.000 0.000 ↓ 0.0

WindowAgg (cost=951,783.44..967,479.95 rows=12,633 width=1,291) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Sort (cost=951,783.44..951,815.03 rows=12,633 width=1,259) (actual rows= loops=)

  • Sort Key: (((((convert_from(defect_bytes.bytes_, 'UTF8'::name))::json -> 'fields'::text) -> 'requestBlock'::text) ->> 'guid'::text)), (timezone('UTC+6'::text, pi.start_time_)) DESC
5. 0.000 0.000 ↓ 0.0

WindowAgg (cost=943,115.60..943,968.33 rows=12,633 width=1,259) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Sort (cost=943,115.60..943,147.18 rows=12,633 width=1,227) (actual rows= loops=)

  • Sort Key: (((((convert_from(defect_bytes.bytes_, 'UTF8'::name))::json -> 'fields'::text) -> 'requestLocation'::text) ->> 'guid'::text)), (timezone('UTC+6'::text, pi.start_time_)) DESC
7. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=766,085.30..935,475.48 rows=12,633 width=1,227) (actual rows= loops=)

  • Hash Cond: ((indx.proc_inst_id_)::text = (pi.id_)::text)
8. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on act_hi_varinst indx (cost=2,364.30..166,491.07 rows=75,338 width=124) (actual rows= loops=)

  • Recheck Cond: ((name_)::text = 'index'::text)
9. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on act_idx_hi_procvar_name_type (cost=0.00..2,345.47 rows=75,338 width=0) (actual rows= loops=)

  • Index Cond: ((name_)::text = 'index'::text)
10. 0.000 0.000 ↓ 0.0

Hash (cost=761,860.08..761,860.08 rows=12,633 width=1,076) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Merge Left Join (cost=761,729.89..761,860.08 rows=12,633 width=1,076) (actual rows= loops=)

  • Merge Cond: ((pi.id_)::text = (islocationwarranty.proc_inst_id_)::text)
12. 0.000 0.000 ↓ 0.0

Merge Left Join (cost=750,523.78..750,604.67 rows=12,633 width=989) (actual rows= loops=)

  • Merge Cond: ((pi.id_)::text = (iswarranty.proc_inst_id_)::text)
13. 0.000 0.000 ↓ 0.0

Sort (cost=739,317.68..739,349.26 rows=12,633 width=902) (actual rows= loops=)

  • Sort Key: pi.id_
14. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=729,378.69..733,445.06 rows=12,633 width=902) (actual rows= loops=)

  • Hash Cond: ((executioninfo.finishexecutor)::text = (assignee.email_)::text)
15. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=729,202.04..733,078.94 rows=12,627 width=906) (actual rows= loops=)

  • Hash Cond: ((executioninfo.proc_inst_id_)::text = (pi.id_)::text)
16. 0.000 0.000 ↓ 0.0

Subquery Scan on executioninfo (cost=49,830.15..50,962.56 rows=45,246 width=77) (actual rows= loops=)

17. 0.000 0.000 ↓ 0.0

Unique (cost=49,830.15..50,510.10 rows=45,246 width=125) (actual rows= loops=)

18. 0.000 0.000 ↓ 0.0

Sort (cost=49,830.15..49,943.48 rows=45,330 width=125) (actual rows= loops=)

  • Sort Key: (first_value(act_hi_taskinst.task_def_key_) OVER (?)), act_hi_taskinst.proc_inst_id_, (first_value(act_hi_taskinst.assignee_) OVER (?)), (first_value(timezone('UTC+6'::text, act_hi_taskinst.end_time_)) OVER (?)), (first_value(timezone('UTC+6'::text, act_hi_taskinst.start_time_)) OVER (?))
19. 0.000 0.000 ↓ 0.0

WindowAgg (cost=41,904.06..43,377.29 rows=45,330 width=125) (actual rows= loops=)

20. 0.000 0.000 ↓ 0.0

Sort (cost=41,904.06..42,017.39 rows=45,330 width=87) (actual rows= loops=)

  • Sort Key: act_hi_taskinst.proc_inst_id_, act_hi_taskinst.end_time_ DESC
21. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on act_hi_taskinst (cost=1,408.37..36,228.20 rows=45,330 width=87) (actual rows= loops=)

  • Recheck Cond: ((proc_def_key_)::text = 'SRV-14'::text)
  • Filter: ((task_def_key_)::text <> ALL ('{checkExecutionFixdefect,checkExecutionNotWarranty,checkExecutionWarranty,displayCallCenter,process-info,showRequestNumber,start}'::text[]))
22. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on act_idx_hi_task_inst_proc_def_key (cost=0.00..1,397.03 rows=49,148 width=0) (actual rows= loops=)

  • Index Cond: ((proc_def_key_)::text = 'SRV-14'::text)
23. 0.000 0.000 ↓ 0.0

Hash (cost=677,832.05..677,832.05 rows=12,627 width=866) (actual rows= loops=)

24. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=511,523.09..677,832.05 rows=12,627 width=866) (actual rows= loops=)

  • Hash Cond: ((source.proc_inst_id_)::text = (pi.id_)::text)
25. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on act_hi_varinst source (cost=2,315.85..164,294.55 rows=73,731 width=124) (actual rows= loops=)

  • Recheck Cond: ((name_)::text = 'source'::text)
26. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on act_idx_hi_procvar_name_type (cost=0.00..2,297.41 rows=73,731 width=0) (actual rows= loops=)

  • Index Cond: ((name_)::text = 'source'::text)
27. 0.000 0.000 ↓ 0.0

Hash (cost=507,803.40..507,803.40 rows=12,627 width=779) (actual rows= loops=)

28. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=353,775.77..507,803.40 rows=12,627 width=779) (actual rows= loops=)

  • Hash Cond: ((statusid.proc_inst_id_)::text = (pi.id_)::text)
29. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on act_hi_varinst statusid (cost=2,055.11..152,237.71 rows=65,378 width=124) (actual rows= loops=)

  • Recheck Cond: ((name_)::text = 'statusId'::text)
30. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on act_idx_hi_procvar_name_type (cost=0.00..2,038.77 rows=65,378 width=0) (actual rows= loops=)

  • Index Cond: ((name_)::text = 'statusId'::text)
31. 0.000 0.000 ↓ 0.0

Hash (cost=350,452.82..350,452.82 rows=12,627 width=692) (actual rows= loops=)

32. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=239,856.96..350,452.82 rows=12,627 width=692) (actual rows= loops=)

  • Hash Cond: ((assigneecomment.proc_inst_id_)::text = (pi.id_)::text)
33. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on act_hi_varinst assigneecomment (cost=1,275.40..109,195.40 rows=40,641 width=124) (actual rows= loops=)

  • Recheck Cond: ((name_)::text = 'assigneeComment'::text)
34. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on act_idx_hi_procvar_name_type (cost=0.00..1,265.24 rows=40,641 width=0) (actual rows= loops=)

  • Index Cond: ((name_)::text = 'assigneeComment'::text)
35. 0.000 0.000 ↓ 0.0

Hash (cost=237,448.72..237,448.72 rows=12,627 width=605) (actual rows= loops=)

36. 0.000 0.000 ↓ 0.0

Gather Merge (cost=207,230.95..237,448.72 rows=12,627 width=605) (actual rows= loops=)

  • Workers Planned: 2
37. 0.000 0.000 ↓ 0.0

Merge Left Join (cost=206,230.93..234,991.23 rows=5,261 width=605) (actual rows= loops=)

  • Merge Cond: ((pi.id_)::text = (reopencnt.proc_inst_id_)::text)
38. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=195,024.83..223,755.89 rows=5,261 width=597) (actual rows= loops=)

39. 0.000 0.000 ↓ 0.0

Merge Left Join (cost=195,024.27..195,716.32 rows=5,261 width=127) (actual rows= loops=)

  • Merge Cond: ((pi.id_)::text = (defects.proc_inst_id_)::text)
40. 0.000 0.000 ↓ 0.0

Sort (cost=6,248.68..6,261.83 rows=5,261 width=90) (actual rows= loops=)

  • Sort Key: pi.id_
41. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=686.93..5,923.52 rows=5,261 width=90) (actual rows= loops=)

  • Hash Cond: ((pi.start_user_id_)::text = (starter.id_)::text)
42. 0.000 0.000 ↓ 0.0

Parallel Bitmap Heap Scan on act_hi_procinst pi (cost=510.28..5,733.04 rows=5,261 width=92) (actual rows= loops=)

  • Recheck Cond: ((proc_def_key_)::text = 'SRV-14'::text)
43. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on act_idx_hi_pro_inst_proc_def_key (cost=0.00..507.12 rows=12,627 width=0) (actual rows= loops=)

  • Index Cond: ((proc_def_key_)::text = 'SRV-14'::text)
44. 0.000 0.000 ↓ 0.0

Hash (cost=125.18..125.18 rows=4,118 width=50) (actual rows= loops=)

45. 0.000 0.000 ↓ 0.0

Seq Scan on act_id_user starter (cost=0.00..125.18 rows=4,118 width=50) (actual rows= loops=)

46. 0.000 0.000 ↓ 0.0

Materialize (cost=188,775.59..189,197.25 rows=84,333 width=74) (actual rows= loops=)

47. 0.000 0.000 ↓ 0.0

Sort (cost=188,775.59..188,986.42 rows=84,333 width=74) (actual rows= loops=)

  • Sort Key: defects.proc_inst_id_
48. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on act_hi_varinst defects (cost=2,646.01..178,127.04 rows=84,333 width=74) (actual rows= loops=)

  • Recheck Cond: ((name_)::text = 'defects'::text)
49. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on act_idx_hi_procvar_name_type (cost=0.00..2,624.93 rows=84,333 width=0) (actual rows= loops=)

  • Index Cond: ((name_)::text = 'defects'::text)
50. 0.000 0.000 ↓ 0.0

Index Scan using act_ge_bytearray_pkey on act_ge_bytearray defect_bytes (cost=0.55..5.33 rows=1 width=544) (actual rows= loops=)

  • Index Cond: ((id_)::text = (defects.bytearray_id_)::text)
51. 0.000 0.000 ↓ 0.0

Sort (cost=11,206.10..11,213.56 rows=2,981 width=45) (actual rows= loops=)

  • Sort Key: reopencnt.proc_inst_id_
52. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on act_hi_varinst reopencnt (cost=95.54..11,034.08 rows=2,981 width=45) (actual rows= loops=)

  • Recheck Cond: ((name_)::text = 'reopenCnt'::text)
53. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on act_idx_hi_procvar_name_type (cost=0.00..94.79 rows=2,981 width=0) (actual rows= loops=)

  • Index Cond: ((name_)::text = 'reopenCnt'::text)
54. 0.000 0.000 ↓ 0.0

Hash (cost=125.18..125.18 rows=4,118 width=50) (actual rows= loops=)

55. 0.000 0.000 ↓ 0.0

Seq Scan on act_id_user assignee (cost=0.00..125.18 rows=4,118 width=50) (actual rows= loops=)

56. 0.000 0.000 ↓ 0.0

Sort (cost=11,206.10..11,213.56 rows=2,981 width=124) (actual rows= loops=)

  • Sort Key: iswarranty.proc_inst_id_
57. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on act_hi_varinst iswarranty (cost=95.54..11,034.08 rows=2,981 width=124) (actual rows= loops=)

  • Recheck Cond: ((name_)::text = 'isWarranty'::text)
58. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on act_idx_hi_procvar_name_type (cost=0.00..94.79 rows=2,981 width=0) (actual rows= loops=)

  • Index Cond: ((name_)::text = 'isWarranty'::text)
59. 0.000 0.000 ↓ 0.0

Sort (cost=11,206.10..11,213.56 rows=2,981 width=124) (actual rows= loops=)

  • Sort Key: islocationwarranty.proc_inst_id_
60. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on act_hi_varinst islocationwarranty (cost=95.54..11,034.08 rows=2,981 width=124) (actual rows= loops=)

  • Recheck Cond: ((name_)::text = 'isLocationWarranty'::text)
61. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on act_idx_hi_procvar_name_type (cost=0.00..94.79 rows=2,981 width=0) (actual rows= loops=)

  • Index Cond: ((name_)::text = 'isLocationWarranty'::text)