explain.depesz.com

PostgreSQL's explain analyze made readable

Result: oOnR

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

Limit (cost=968,246.93..968,247.18 rows=100 width=1,227) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Sort (cost=968,246.93..968,278.51 rows=12,633 width=1,227) (actual rows= loops=)

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

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

4. 0.000 0.000 ↓ 0.0

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

5. 0.000 0.000 ↓ 0.0

Sort (cost=951,941.27..951,972.85 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
6. 0.000 0.000 ↓ 0.0

WindowAgg (cost=943,273.43..944,126.15 rows=12,633 width=1,259) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Sort (cost=943,273.43..943,305.01 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
8. 0.000 0.000 ↓ 0.0

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

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

Bitmap Heap Scan on act_hi_varinst indx (cost=2,364.39..166,518.62 rows=75,350 width=124) (actual rows= loops=)

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

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

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

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

12. 0.000 0.000 ↓ 0.0

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

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

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

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

Sort (cost=739,445.74..739,477.32 rows=12,633 width=902) (actual rows= loops=)

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

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

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

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

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

Subquery Scan on executioninfo (cost=49,846.57..50,979.41 rows=45,263 width=77) (actual rows= loops=)

18. 0.000 0.000 ↓ 0.0

Unique (cost=49,846.57..50,526.78 rows=45,263 width=125) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

Sort (cost=49,846.57..49,959.94 rows=45,347 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 (?))
20. 0.000 0.000 ↓ 0.0

WindowAgg (cost=41,918.49..43,392.27 rows=45,347 width=125) (actual rows= loops=)

21. 0.000 0.000 ↓ 0.0

Sort (cost=41,918.49..42,031.86 rows=45,347 width=87) (actual rows= loops=)

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

Bitmap Heap Scan on act_hi_taskinst (cost=1,408.51..36,241.19 rows=45,347 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[]))
23. 0.000 0.000 ↓ 0.0

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

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

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

25. 0.000 0.000 ↓ 0.0

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

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

Bitmap Heap Scan on act_hi_varinst source (cost=2,315.95..164,323.87 rows=73,744 width=124) (actual rows= loops=)

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

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

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

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

29. 0.000 0.000 ↓ 0.0

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

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

Bitmap Heap Scan on act_hi_varinst statusid (cost=2,055.20..152,263.47 rows=65,389 width=124) (actual rows= loops=)

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

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

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

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

33. 0.000 0.000 ↓ 0.0

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

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

Bitmap Heap Scan on act_hi_varinst assigneecomment (cost=1,279.45..109,214.52 rows=40,647 width=124) (actual rows= loops=)

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

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

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

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

37. 0.000 0.000 ↓ 0.0

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

  • Workers Planned: 2
38. 0.000 0.000 ↓ 0.0

Merge Left Join (cost=206,265.52..235,028.02 rows=5,261 width=605) (actual rows= loops=)

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

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

40. 0.000 0.000 ↓ 0.0

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

  • Merge Cond: ((pi.id_)::text = (defects.proc_inst_id_)::text)
41. 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_
42. 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)
43. 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)
44. 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)
45. 0.000 0.000 ↓ 0.0

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

46. 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=)

47. 0.000 0.000 ↓ 0.0

Materialize (cost=188,810.10..189,231.84 rows=84,347 width=74) (actual rows= loops=)

48. 0.000 0.000 ↓ 0.0

Sort (cost=188,810.10..189,020.97 rows=84,347 width=74) (actual rows= loops=)

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

Bitmap Heap Scan on act_hi_varinst defects (cost=2,650.12..178,160.31 rows=84,347 width=74) (actual rows= loops=)

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

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

  • Index Cond: ((name_)::text = 'defects'::text)
51. 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)
52. 0.000 0.000 ↓ 0.0

Sort (cost=11,206.18..11,213.64 rows=2,981 width=45) (actual rows= loops=)

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

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

  • Recheck Cond: ((name_)::text = 'reopenCnt'::text)
54. 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)
55. 0.000 0.000 ↓ 0.0

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

56. 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=)

57. 0.000 0.000 ↓ 0.0

Sort (cost=11,206.18..11,213.64 rows=2,981 width=124) (actual rows= loops=)

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

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

  • Recheck Cond: ((name_)::text = 'isWarranty'::text)
59. 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)
60. 0.000 0.000 ↓ 0.0

Sort (cost=11,206.18..11,213.64 rows=2,981 width=124) (actual rows= loops=)

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

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

  • Recheck Cond: ((name_)::text = 'isLocationWarranty'::text)
62. 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)