explain.depesz.com

PostgreSQL's explain analyze made readable

Result: ulEz

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

Sort (cost=7,321,819.02..7,321,819.72 rows=280 width=1,357) (actual rows= loops=)

  • Sort Key: ((dep.name)::character varying(255)) COLLATE "en_US", ((ui.lastname)::character varying(50)) COLLATE "en_US", ((ui.firstname)::character varying(50)) COLLATE "en_US", ui.duplicatename, ((login.loginname)::character varying(255)) COLLATE "en_US", ((ui.displayname)::text) COLLATE "en_US
2. 0.000 0.000 ↓ 0.0

Nested Loop (cost=5,824,324.27..7,321,807.64 rows=280 width=1,357) (actual rows= loops=)

3. 0.000 0.000 ↓ 0.0

Hash Join (cost=5,824,323.84..7,304,188.54 rows=284 width=630) (actual rows= loops=)

  • Hash Cond: (ts.userid = userinfo7.id)
4. 0.000 0.000 ↓ 0.0

Nested Loop (cost=5,824,208.41..7,304,051.43 rows=5,029 width=638) (actual rows= loops=)

  • Join Filter: (ts.id = dm_timesheetlist_facts3.timesheetid)
5. 0.000 0.000 ↓ 0.0

Merge Right Join (cost=5,824,207.99..7,301,720.45 rows=5,029 width=638) (actual rows= loops=)

  • Merge Cond: (t.id = ts.id)
6. 0.000 0.000 ↓ 0.0

GroupAggregate (cost=5,823,703.89..6,412,852.71 rows=29,457,441 width=92) (actual rows= loops=)

  • Group Key: t.id, uwsf.userid
7. 0.000 0.000 ↓ 0.0

Sort (cost=5,823,703.89..5,897,347.49 rows=29,457,441 width=44) (actual rows= loops=)

  • Sort Key: t.id, uwsf.userid
8. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=34.12..1,651,386.79 rows=29,457,441 width=44) (actual rows= loops=)

  • Hash Cond: ((c.id = cd.calendarid) AND (uwsf.date = (cd.dateinfo)::date))
9. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=30.57..1,390,768.23 rows=29,457,441 width=52) (actual rows= loops=)

  • Hash Cond: (uwsf.userid = uc.userid)
10. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.43..1,053,781.32 rows=29,457,441 width=48) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Seq Scan on timesheet t (cost=0.00..1,929.23 rows=93,723 width=28) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Index Scan using dm_userworkschedule_facts_pkey on dm_userworkschedule_facts uwsf (cost=0.43..8.02 rows=320 width=24) (actual rows= loops=)

  • Index Cond: ((userid = t.userid) AND (date >= t.startdate) AND (date <= t.enddate))
13. 0.000 0.000 ↓ 0.0

Hash (cost=19.70..19.70 rows=835 width=8) (actual rows= loops=)

14. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=1.07..19.70 rows=835 width=8) (actual rows= loops=)

  • Hash Cond: (uc.calendarid = c.id)
15. 0.000 0.000 ↓ 0.0

Seq Scan on usercalendar uc (cost=0.00..13.35 rows=835 width=8) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

Hash (cost=1.03..1.03 rows=3 width=4) (actual rows= loops=)

17. 0.000 0.000 ↓ 0.0

Seq Scan on calendar c (cost=0.00..1.03 rows=3 width=4) (actual rows= loops=)

18. 0.000 0.000 ↓ 0.0

Hash (cost=2.02..2.02 rows=102 width=12) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

Seq Scan on calendardetail cd (cost=0.00..2.02 rows=102 width=12) (actual rows= loops=)

20. 0.000 0.000 ↓ 0.0

Materialize (cost=504.10..520,574.33 rows=16 width=622) (actual rows= loops=)

21. 0.000 0.000 ↓ 0.0

Nested Loop (cost=504.10..520,574.29 rows=16 width=622) (actual rows= loops=)

  • Join Filter: (ts.id = dmv_timesheetday_g46.timesheetid)
22. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.25..3,953.04 rows=2 width=590) (actual rows= loops=)

  • Join Filter: (du.departmentid = dep.id)
23. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.25..3,951.40 rows=2 width=78) (actual rows= loops=)

  • Join Filter: (ts.userid = du.userid)
24. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.97..3,950.73 rows=2 width=70) (actual rows= loops=)

  • Join Filter: (ts.userid = login.userid)
25. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.70..3,950.09 rows=2 width=56) (actual rows= loops=)

26. 0.000 0.000 ↓ 0.0

Index Scan using timesheet_pkey on timesheet ts (cost=0.42..3,945.49 rows=2 width=20) (actual rows= loops=)

  • Filter: ((startdate >= '2020-07-18'::date) AND (startdate <= '2020-07-24'::date) AND (enddate >= '2020-07-18'::date) AND (enddate <= '2020-07-24'::date))
27. 0.000 0.000 ↓ 0.0

Index Scan using userinfo_pkey on userinfo ui (cost=0.28..2.29 rows=1 width=36) (actual rows= loops=)

  • Index Cond: (id = ts.userid)
28. 0.000 0.000 ↓ 0.0

Index Scan using login_pkey on login (cost=0.28..0.31 rows=1 width=14) (actual rows= loops=)

  • Index Cond: (userid = ui.id)
29. 0.000 0.000 ↓ 0.0

Index Scan using ixduuserid on departmentusers du (cost=0.28..0.32 rows=1 width=8) (actual rows= loops=)

  • Index Cond: (userid = login.userid)
  • Filter: (departmentid = ANY ('{1,9,11,7,12,8,4,6,3,5,10,13}'::integer[]))
30. 0.000 0.000 ↓ 0.0

Materialize (cost=0.00..1.22 rows=15 width=520) (actual rows= loops=)

31. 0.000 0.000 ↓ 0.0

Seq Scan on departments dep (cost=0.00..1.15 rows=15 width=520) (actual rows= loops=)

32. 0.000 0.000 ↓ 0.0

Materialize (cost=502.85..493,021.94 rows=858,157 width=32) (actual rows= loops=)

33. 0.000 0.000 ↓ 0.0

Subquery Scan on dmv_timesheetday_g46 (cost=502.85..488,731.15 rows=858,157 width=32) (actual rows= loops=)

34. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=502.85..480,149.58 rows=858,157 width=616) (actual rows= loops=)

  • Hash Cond: (at.projectid = pj.id)
  • Join Filter: ((at.entrydate >= pc.effectivedate) AND (at.entrydate <= pc.enddate))
35. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=194.01..28,038.77 rows=858,157 width=77) (actual rows= loops=)

  • Hash Cond: ((at.projectid = pj_1.id) AND (at.userspecifiedclientid = pc_1.clientid))
  • Join Filter: ((at.entrydate >= pc_1.effectivedate) AND (at.entrydate <= pc_1.enddate))
36. 0.000 0.000 ↓ 0.0

Seq Scan on dm_attendancetimeallocation_facts at (cost=0.00..21,408.57 rows=858,157 width=81) (actual rows= loops=)

37. 0.000 0.000 ↓ 0.0

Hash (cost=194.00..194.00 rows=1 width=16) (actual rows= loops=)

38. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.28..194.00 rows=1 width=16) (actual rows= loops=)

39. 0.000 0.000 ↓ 0.0

Seq Scan on project pj_1 (cost=0.00..191.69 rows=1 width=4) (actual rows= loops=)

  • Filter: (clientbillingallocationmethod = 1)
40. 0.000 0.000 ↓ 0.0

Index Only Scan using uix4pc_projectclienteffectiveend on projectclient pc_1 (cost=0.28..2.30 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (projectid = pj_1.id)
41. 0.000 0.000 ↓ 0.0

Hash (cost=280.13..280.13 rows=2,297 width=44) (actual rows= loops=)

42. 0.000 0.000 ↓ 0.0

Hash Join (cost=225.36..280.13 rows=2,297 width=44) (actual rows= loops=)

  • Hash Cond: (pc.projectid = pj.id)
43. 0.000 0.000 ↓ 0.0

Seq Scan on projectclient pc (cost=0.00..48.73 rows=2,298 width=44) (actual rows= loops=)

44. 0.000 0.000 ↓ 0.0

Hash (cost=191.69..191.69 rows=2,694 width=4) (actual rows= loops=)

45. 0.000 0.000 ↓ 0.0

Seq Scan on project pj (cost=0.00..191.69 rows=2,694 width=4) (actual rows= loops=)

  • Filter: (clientbillingallocationmethod = 0)
46. 0.000 0.000 ↓ 0.0

Index Scan using dm_timesheetlist_facts_pkey on dm_timesheetlist_facts dm_timesheetlist_facts3 (cost=0.42..0.45 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (timesheetid = dmv_timesheetday_g46.timesheetid)
47. 0.000 0.000 ↓ 0.0

Hash (cost=114.68..114.68 rows=60 width=12) (actual rows= loops=)

48. 0.000 0.000 ↓ 0.0

Nested Loop (cost=10.70..114.68 rows=60 width=12) (actual rows= loops=)

49. 0.000 0.000 ↓ 0.0

Hash Join (cost=10.42..78.15 rows=81 width=8) (actual rows= loops=)

  • Hash Cond: (userinfo7.id = departmentusers8.userid)
50. 0.000 0.000 ↓ 0.0

Seq Scan on userinfo userinfo7 (cost=0.00..66.64 rows=417 width=4) (actual rows= loops=)

  • Filter: (NOT disabled)
51. 0.000 0.000 ↓ 0.0

Hash (cost=7.84..7.84 rows=206 width=4) (actual rows= loops=)

52. 0.000 0.000 ↓ 0.0

Index Only Scan using departmentusers_pkey on departmentusers departmentusers8 (cost=0.28..7.84 rows=206 width=4) (actual rows= loops=)

  • Index Cond: (departmentid = 12)
53. 0.000 0.000 ↓ 0.0

Index Scan using userinfo_pkey on userinfo userinfo9 (cost=0.28..0.45 rows=1 width=4) (actual rows= loops=)

  • Index Cond: (id = userinfo7.id)
  • Filter: (employeetypeid = 1)
54. 0.000 0.000 ↓ 0.0

Index Scan using dm_attendancetimeallocation_facts_pkey on dm_attendancetimeallocation_facts tendancetimeallocation_facts10 (cost=0.42..62.04 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (id = dmv_timesheetday_g46.timeallocationid)
  • Filter: ((userid = 491) OR (alternatives: SubPlan 1 or hashed SubPlan 2) OR (alternatives: SubPlan 3 or hashed SubPlan 4) OR (SubPlan 5) OR (SubPlan 6) OR (SubPlan 7) OR (SubPlan 8))
55.          

SubPlan (for Index Scan)

56. 0.000 0.000 ↓ 0.0

Index Scan using ix3uh_usersuperstart on userhierarchy userhierarchy11 (cost=0.28..2.30 rows=1 width=0) (actual rows= loops=)

  • Index Cond: ((userid = tendancetimeallocation_facts10.userid) AND (supervisorid = 491) AND (startdate <= '2020-07-28'::date))
  • Filter: (enddate >= '2020-07-28'::date)
57. 0.000 0.000 ↓ 0.0

Index Scan using ixuhsupervisorid on userhierarchy userhierarchy11_1 (cost=0.28..18.56 rows=79 width=4) (actual rows= loops=)

  • Index Cond: (supervisorid = 491)
  • Filter: ((startdate <= '2020-07-28'::date) AND (enddate >= '2020-07-28'::date))
58. 0.000 0.000 ↓ 0.0

Index Scan using project_pkey on project project12 (cost=0.28..2.30 rows=1 width=0) (actual rows= loops=)

  • Index Cond: (id = tendancetimeallocation_facts10.projectid)
  • Filter: (projectleaderapproverid = 491)
59. 0.000 0.000 ↓ 0.0

Index Scan using ixprjprojectleaderapproverid on project project12_1 (cost=0.28..22.30 rows=22 width=4) (actual rows= loops=)

  • Index Cond: (projectleaderapproverid = 491)
60. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.51..16.19 rows=1 width=32) (actual rows= loops=)

61. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.24..15.72 rows=1 width=84) (actual rows= loops=)

62. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.97..8.07 rows=1 width=4) (actual rows= loops=)

63. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.55..5.62 rows=1 width=20) (actual rows= loops=)

  • Join Filter: (timesheetapprovalnodes15.id = tsapprovalrequest16.nodeid)
64. 0.000 0.000 ↓ 0.0

Index Scan using uix2tsar_nodeid_userid on tsapprovalrequest tsapprovalrequest16 (cost=0.27..2.29 rows=1 width=20) (actual rows= loops=)

  • Index Cond: (userid = 491)
65. 0.000 0.000 ↓ 0.0

Index Scan using ixtantimesheetid on timesheetapprovalnodes timesheetapprovalnodes15 (cost=0.28..3.31 rows=2 width=32) (actual rows= loops=)

  • Index Cond: (timesheetid = tendancetimeallocation_facts10.timesheetid)
66. 0.000 0.000 ↓ 0.0

Index Only Scan using timesheet_pkey on timesheet timesheet14 (cost=0.42..2.44 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (id = tendancetimeallocation_facts10.timesheetid)
67. 0.000 0.000 ↓ 0.0

Index Scan using ixtsarkvtsapprovalrequestid on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue13 (cost=0.27..7.55 rows=10 width=88) (actual rows= loops=)

  • Index Cond: (tsapprovalrequestid = tsapprovalrequest16.id)
  • Filter: (upper(key) = 'URN:REPLICON:APPROVAL-REQUEST-METADATA-KEY:ADDITIONAL-APPROVER-DATA-ACCESS-LEVELS'::text)
68. 0.000 0.000 ↓ 0.0

Index Scan using tsapprovalrequestkeyvalue_pkey on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue17 (cost=0.27..0.45 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (id = tsapprovalrequestkeyvalue13.parentid)
  • Filter: (parentid IS NULL)
69. 0.000 0.000 ↓ 0.0

Nested Loop (cost=3.87..37.31 rows=1 width=32) (actual rows= loops=)

70. 0.000 0.000 ↓ 0.0

Nested Loop (cost=3.44..36.79 rows=1 width=16) (actual rows= loops=)

71. 0.000 0.000 ↓ 0.0

Nested Loop (cost=3.00..33.51 rows=1 width=16) (actual rows= loops=)

72. 0.000 0.000 ↓ 0.0

Nested Loop (cost=2.57..32.99 rows=1 width=16) (actual rows= loops=)

73. 0.000 0.000 ↓ 0.0

Nested Loop (cost=2.14..31.87 rows=1 width=16) (actual rows= loops=)

74. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.71..30.27 rows=1 width=16) (actual rows= loops=)

75. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.27..27.88 rows=1 width=16) (actual rows= loops=)

76. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.84..7.95 rows=1 width=16) (actual rows= loops=)

77. 0.000 0.000 ↓ 0.0

Index Only Scan using timesheet_pkey on timesheet timesheet19 (cost=0.42..2.44 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (id = tendancetimeallocation_facts10.timesheetid)
78. 0.000 0.000 ↓ 0.0

Index Scan using ixtah2timesheetid on timesheetapprovalhistory timesheetapprovalhistory20 (cost=0.42..5.50 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (timesheetid = tendancetimeallocation_facts10.timesheetid)
  • Filter: (userid = 491)
79. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvtimesheetapprovalhistoryid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue21 (cost=0.43..19.93 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (timesheetapprovalhistoryid = timesheetapprovalhistory20.id)
  • Filter: ((upper(key) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-NODES'::text) AND (upper(uri) = 'URN:REPLICON-TENANT:CREDERA-PILOT:USER:491'::text))
80. 0.000 0.000 ↓ 0.0

Index Scan using timesheetapprovalhistorykeyvalue_pkey on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue22 (cost=0.43..2.39 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (id = sheetapprovalhistorykeyvalue21.parentid)
  • Filter: (upper(uri) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-EXPECTED-APPROVAL-AGENT-USER'::text)
81. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue23 (cost=0.43..1.59 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue22.parentid)
  • Filter: (upper(uri) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-METADATA'::text)
82. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue24 (cost=0.43..1.11 rows=2 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue23.id)
83. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue25 (cost=0.43..0.51 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue24.id)
  • Filter: (upper(uri) = 'URN:REPLICON:APPROVAL-REQUEST-METADATA-KEY:ADDITIONAL-APPROVER-DATA-ACCESS-LEVELS'::text)
84. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue26 (cost=0.43..3.25 rows=2 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue25.id)
85. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue18 (cost=0.43..0.50 rows=2 width=85) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue26.id)
86. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.63..12.00 rows=1 width=32) (actual rows= loops=)

87. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.36..9.49 rows=1 width=84) (actual rows= loops=)

  • Join Filter: (tsapprovalrequest30.id = tsapprovalrequestkeyvalue27.tsapprovalrequestid)
88. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.97..8.07 rows=1 width=4) (actual rows= loops=)

89. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.55..5.62 rows=1 width=20) (actual rows= loops=)

  • Join Filter: (timesheetapprovalnodes29.id = tsapprovalrequest30.nodeid)
90. 0.000 0.000 ↓ 0.0

Index Scan using uix2tsar_nodeid_userid on tsapprovalrequest tsapprovalrequest30 (cost=0.27..2.29 rows=1 width=20) (actual rows= loops=)

  • Index Cond: (userid = 491)
91. 0.000 0.000 ↓ 0.0

Index Scan using ixtantimesheetid on timesheetapprovalnodes timesheetapprovalnodes29 (cost=0.28..3.31 rows=2 width=32) (actual rows= loops=)

  • Index Cond: (timesheetid = tendancetimeallocation_facts10.timesheetid)
92. 0.000 0.000 ↓ 0.0

Index Only Scan using timesheet_pkey on timesheet timesheet28 (cost=0.42..2.44 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (id = tendancetimeallocation_facts10.timesheetid)
93. 0.000 0.000 ↓ 0.0

Index Scan using ixtsarkvkey on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue27 (cost=0.40..1.41 rows=1 width=88) (actual rows= loops=)

  • Index Cond: (upper(key) = 'URN:REPLICON:APPROVAL-REQUEST-METADATA-KEY:ADDITIONAL-APPROVER-ACCESSIBLE-OBJECTS'::text)
94. 0.000 0.000 ↓ 0.0

Index Scan using tsapprovalrequestkeyvalue_pkey on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue31 (cost=0.27..2.29 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (id = tsapprovalrequestkeyvalue27.parentid)
  • Filter: (parentid IS NULL)
95. 0.000 0.000 ↓ 0.0

Nested Loop (cost=3.87..37.51 rows=1 width=32) (actual rows= loops=)

96. 0.000 0.000 ↓ 0.0

Nested Loop (cost=3.44..36.99 rows=1 width=16) (actual rows= loops=)

97. 0.000 0.000 ↓ 0.0

Nested Loop (cost=3.00..33.51 rows=1 width=16) (actual rows= loops=)

98. 0.000 0.000 ↓ 0.0

Nested Loop (cost=2.57..32.99 rows=1 width=16) (actual rows= loops=)

99. 0.000 0.000 ↓ 0.0

Nested Loop (cost=2.14..31.87 rows=1 width=16) (actual rows= loops=)

100. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.71..30.27 rows=1 width=16) (actual rows= loops=)

101. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.27..27.88 rows=1 width=16) (actual rows= loops=)

102. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.84..7.95 rows=1 width=16) (actual rows= loops=)

103. 0.000 0.000 ↓ 0.0

Index Only Scan using timesheet_pkey on timesheet timesheet33 (cost=0.42..2.44 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (id = tendancetimeallocation_facts10.timesheetid)
104. 0.000 0.000 ↓ 0.0

Index Scan using ixtah2timesheetid on timesheetapprovalhistory timesheetapprovalhistory34 (cost=0.42..5.50 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (timesheetid = tendancetimeallocation_facts10.timesheetid)
  • Filter: (userid = 491)
105. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvtimesheetapprovalhistoryid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue35 (cost=0.43..19.93 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (timesheetapprovalhistoryid = timesheetapprovalhistory34.id)
  • Filter: ((upper(key) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-NODES'::text) AND (upper(uri) = 'URN:REPLICON-TENANT:CREDERA-PILOT:USER:491'::text))
106. 0.000 0.000 ↓ 0.0

Index Scan using timesheetapprovalhistorykeyvalue_pkey on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue36 (cost=0.43..2.39 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (id = sheetapprovalhistorykeyvalue35.parentid)
  • Filter: (upper(uri) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-EXPECTED-APPROVAL-AGENT-USER'::text)
107. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue37 (cost=0.43..1.59 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue36.parentid)
  • Filter: (upper(uri) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-METADATA'::text)
108. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue38 (cost=0.43..1.11 rows=2 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue37.id)
109. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue39 (cost=0.43..0.51 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue38.id)
  • Filter: (upper(uri) = 'URN:REPLICON:APPROVAL-REQUEST-METADATA-KEY:ADDITIONAL-APPROVER-ACCESSIBLE-OBJECTS'::text)
110. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue40 (cost=0.43..3.45 rows=2 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue39.id)
111. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue32 (cost=0.43..0.50 rows=2 width=85) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue40.id)