explain.depesz.com

PostgreSQL's explain analyze made readable

Result: sWPD

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

Sort (cost=3,835,051.46..3,835,051.46 rows=1 width=3,007) (actual rows= loops=)

  • Sort Key: ((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", ((ui.externalid)::character varying(255)) COLLATE "en_US", ((pj.info2)::character varying(255)) COLLATE "en_US", ((pj.name)::character varying(255)) COLLATE "en_US", ((pj.code)::character varying(50)) COLLATE "en_US", pj.startdate, pj.enddate, ((tk.name)::character varying(255)) COLLATE "en_US", tk.timeentrystartdate, tk.timeentryenddate, ts.startdate, ts.enddate
2.          

Initplan (for Sort)

3. 0.000 0.000 ↓ 0.0

Seq Scan on systeminformation (cost=0.00..1.01 rows=1 width=4) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Nested Loop Semi Join (cost=1,631,541.81..3,835,050.44 rows=1 width=3,007) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=1,631,538.71..3,835,042.93 rows=1 width=214) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1,631,537.87..3,835,042.03 rows=1 width=222) (actual rows= loops=)

  • Join Filter: (at.projectid = pj_1.id)
7. 0.000 0.000 ↓ 0.0

Index Scan using project_pkey on project pj_1 (cost=0.28..459.72 rows=2,049 width=4) (actual rows= loops=)

  • Filter: ((upper((info20)::text) = ANY ('{"FIXED BID - RECURRING","TIME AND MATERIAL","FIXED BID - MILESTONE"}'::text[])) OR (info20 IS NULL))
8. 0.000 0.000 ↓ 0.0

Materialize (cost=1,631,537.59..3,834,551.58 rows=1 width=218) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1,631,537.59..3,834,551.57 rows=1 width=218) (actual rows= loops=)

  • Join Filter: (ts_1.id = timesheet8.id)
10. 0.000 0.000 ↓ 0.0

Gather Merge (cost=1,000.43..10,186.36 rows=28 width=16) (actual rows= loops=)

  • Workers Planned: 1
11. 0.000 0.000 ↓ 0.0

Parallel Index Scan using timesheet_pkey on timesheet timesheet8 (cost=0.42..9,183.20 rows=16 width=16) (actual rows= loops=)

  • Filter: ((startdate >= '2020-05-31'::date) AND (startdate <= '2021-01-02'::date) AND (enddate >= '2020-05-31'::date) AND (enddate <= '2021-01-02'::date))
12. 0.000 0.000 ↓ 0.0

Materialize (cost=1,630,537.15..3,823,552.34 rows=1,947 width=218) (actual rows= loops=)

13. 0.000 0.000 ↓ 0.0

Hash Join (cost=1,630,537.15..3,823,542.60 rows=1,947 width=218) (actual rows= loops=)

  • Hash Cond: (at.projectid = project7.id)
14. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=1,630,127.63..3,823,091.72 rows=15,740 width=214) (actual rows= loops=)

  • Hash Cond: (tk.estimatedcostcurrencyid = exchangerate.fixedcurrencyid)
15. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=1,626,746.45..3,818,755.24 rows=15,740 width=218) (actual rows= loops=)

  • Hash Cond: (at.taskid = tk.id)
16. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=1,625,871.00..3,817,838.47 rows=15,740 width=188) (actual rows= loops=)

  • Hash Cond: (ui.id = login.userid)
17. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=1,625,756.84..3,817,682.92 rows=15,740 width=175) (actual rows= loops=)

  • Hash Cond: (at.userid = ui.id)
18. 0.000 0.000 ↓ 0.0

Hash Join (cost=1,625,590.68..3,817,475.37 rows=15,740 width=115) (actual rows= loops=)

  • Hash Cond: (at.userid = userlocation6.userid)
  • Join Filter: ((((at.entrydate)::timestamp without time zone) >= userlocation6.startdate) AND (((at.entrydate)::timestamp without time zone) <= userlocation6.enddate))
19. 0.000 0.000 ↓ 0.0

Hash Join (cost=1,625,555.97..3,802,780.33 rows=2,507,102 width=123) (actual rows= loops=)

  • Hash Cond: (at.projectid = pj.id)
20. 0.000 0.000 ↓ 0.0

Append (cost=1,624,992.60..3,627,820.77 rows=13,810,177 width=1,052) (actual rows= loops=)

21. 0.000 0.000 ↓ 0.0

Result (cost=1,624,992.60..1,919,576.34 rows=1,734,721 width=1,052) (actual rows= loops=)

22. 0.000 0.000 ↓ 0.0

Append (cost=1,624,992.60..1,893,555.53 rows=1,734,721 width=1,044) (actual rows= loops=)

23. 0.000 0.000 ↓ 0.0

Merge Left Join (cost=1,624,992.60..1,662,121.25 rows=1,734,720 width=3,464) (actual rows= loops=)

  • Merge Cond: ((at.userid = ptm.userid) AND (at.projectid = ptm.projectid) AND (at.entrydate = ptma.date))
24.          

Initplan (for Merge Left Join)

25. 0.000 0.000 ↓ 0.0

Seq Scan on projectsysteminformation projectsysteminformation_2 (cost=0.00..1.01 rows=1 width=16) (actual rows= loops=)

26. 0.000 0.000 ↓ 0.0

Seq Scan on projectsysteminformation projectsysteminformation_3 (cost=0.00..1.01 rows=1 width=16) (actual rows= loops=)

27. 0.000 0.000 ↓ 0.0

Sort (cost=1,596,402.14..1,600,738.94 rows=1,734,720 width=2,804) (actual rows= loops=)

  • Sort Key: at.userid, at.projectid, at.entrydate
28. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=12,945.63..217,232.75 rows=1,734,720 width=2,804) (actual rows= loops=)

  • Hash Cond: (at.taskid = tk_1.id)
29. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=12,070.19..211,802.89 rows=1,734,720 width=2,800) (actual rows= loops=)

  • Hash Cond: (at.billingrateid = br.id)
30. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=12,067.41..207,100.68 rows=1,734,720 width=2,763) (actual rows= loops=)

  • Hash Cond: (pbr.id = pbrh.projectbillingrateid)
  • Join Filter: ((at.entrydate >= pbrh.effectivedate) AND (at.entrydate <= pbrh.enddate))
31. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=11,292.65..154,945.30 rows=1,734,720 width=2,767) (actual rows= loops=)

  • Hash Cond: (at.projectid = pj_2.id)
32. 0.000 0.000 ↓ 0.0

Hash Join (cost=10,852.72..149,946.73 rows=1,734,720 width=2,763) (actual rows= loops=)

  • Hash Cond: (at.timesheetid = ts_1.id)
33. 0.000 0.000 ↓ 0.0

Merge Left Join (cost=1,204.25..135,736.15 rows=1,737,921 width=2,751) (actual rows= loops=)

  • Merge Cond: ((at.billingrateid = pbr.billingrateid) AND (at.projectid = pbr.projectid))
  • Join Filter: (((pbr.billingrateid = $8) AND (at.userid = pbr.userid)) OR ((pbr.billingrateid <> $9) AND (pbr.userid IS NULL)))
34. 0.000 0.000 ↓ 0.0

Index Scan using ixpta4billingrateid on dm_projecttimeallocation_facts at (cost=0.43..80,575.66 rows=1,737,921 width=2,735) (actual rows= loops=)

  • Filter: (timeoffcodeid IS NULL)
35. 0.000 0.000 ↓ 0.0

Sort (cost=1,202.18..1,229.70 rows=11,009 width=40) (actual rows= loops=)

  • Sort Key: pbr.billingrateid, pbr.projectid
36. 0.000 0.000 ↓ 0.0

Seq Scan on projectbillingrate pbr (cost=0.00..463.12 rows=11,009 width=40) (actual rows= loops=)

  • Filter: ((billingrateid = $8) OR ((billingrateid <> $9) AND (userid IS NULL)))
37. 0.000 0.000 ↓ 0.0

Hash (cost=5,985.43..5,985.43 rows=293,043 width=28) (actual rows= loops=)

38. 0.000 0.000 ↓ 0.0

Seq Scan on timesheet ts_1 (cost=0.00..5,985.43 rows=293,043 width=28) (actual rows= loops=)

39. 0.000 0.000 ↓ 0.0

Hash (cost=394.97..394.97 rows=3,597 width=8) (actual rows= loops=)

40. 0.000 0.000 ↓ 0.0

Seq Scan on project pj_2 (cost=0.00..394.97 rows=3,597 width=8) (actual rows= loops=)

41. 0.000 0.000 ↓ 0.0

Hash (cost=477.67..477.67 rows=23,767 width=32) (actual rows= loops=)

42. 0.000 0.000 ↓ 0.0

Seq Scan on projectbillingratehistory pbrh (cost=0.00..477.67 rows=23,767 width=32) (actual rows= loops=)

43. 0.000 0.000 ↓ 0.0

Hash (cost=1.79..1.79 rows=79 width=37) (actual rows= loops=)

44. 0.000 0.000 ↓ 0.0

Seq Scan on billingrate br (cost=0.00..1.79 rows=79 width=37) (actual rows= loops=)

45. 0.000 0.000 ↓ 0.0

Hash (cost=632.42..632.42 rows=19,442 width=8) (actual rows= loops=)

46. 0.000 0.000 ↓ 0.0

Seq Scan on task tk_1 (cost=0.00..632.42 rows=19,442 width=8) (actual rows= loops=)

47. 0.000 0.000 ↓ 0.0

Sort (cost=28,588.44..29,201.99 rows=245,417 width=44) (actual rows= loops=)

  • Sort Key: ptm.userid, ptm.projectid, ptma.date
48. 0.000 0.000 ↓ 0.0

Hash Join (cost=759.14..6,617.64 rows=245,417 width=44) (actual rows= loops=)

  • Hash Cond: (ptma.projectteammemberid = ptm.id)
49. 0.000 0.000 ↓ 0.0

Seq Scan on projectteammemberallocation ptma (cost=0.00..5,214.17 rows=245,417 width=52) (actual rows= loops=)

50. 0.000 0.000 ↓ 0.0

Hash (cost=442.95..442.95 rows=25,295 width=24) (actual rows= loops=)

51. 0.000 0.000 ↓ 0.0

Seq Scan on projectteammember ptm (cost=0.00..442.95 rows=25,295 width=24) (actual rows= loops=)

52. 0.000 0.000 ↓ 0.0

Subquery Scan on *SELECT* 2 (cost=1,759.57..214,087.07 rows=1 width=1,044) (actual rows= loops=)

53. 0.000 0.000 ↓ 0.0

Gather (cost=1,759.57..214,087.06 rows=1 width=1,044) (actual rows= loops=)

  • Workers Planned: 1
54. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=759.57..213,086.96 rows=1 width=1,044) (actual rows= loops=)

  • Filter: (at_1.id IS NULL)
55. 0.000 0.000 ↓ 0.0

Hash Join (cost=759.14..5,341.79 rows=144,363 width=44) (actual rows= loops=)

  • Hash Cond: (ptma_1.projectteammemberid = ptm_1.id)
56. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on projectteammemberallocation ptma_1 (cost=0.00..4,203.63 rows=144,363 width=52) (actual rows= loops=)

  • Filter: (id IS NOT NULL)
57. 0.000 0.000 ↓ 0.0

Hash (cost=442.95..442.95 rows=25,295 width=24) (actual rows= loops=)

58. 0.000 0.000 ↓ 0.0

Seq Scan on projectteammember ptm_1 (cost=0.00..442.95 rows=25,295 width=24) (actual rows= loops=)

59. 0.000 0.000 ↓ 0.0

Index Scan using ixpta2projectid on dm_projecttimeallocation_facts at_1 (cost=0.43..1.43 rows=1 width=28) (actual rows= loops=)

  • Index Cond: ((ptm_1.projectid = projectid) AND (ptma_1.date = entrydate))
  • Filter: (ptm_1.userid = userid)
60. 0.000 0.000 ↓ 0.0

Subquery Scan on *SELECT* 3 (cost=236,232.94..668,010.59 rows=11,494,955 width=1,052) (actual rows= loops=)

61. 0.000 0.000 ↓ 0.0

Hash Join (cost=236,232.94..553,061.04 rows=11,494,955 width=2,427) (actual rows= loops=)

  • Hash Cond: (ee.expenseid = ex.id)
62.          

Initplan (for Hash Join)

63. 0.000 0.000 ↓ 0.0

Seq Scan on systeminformation systeminformation_1 (cost=0.00..1.01 rows=1 width=4) (actual rows= loops=)

64. 0.000 0.000 ↓ 0.0

Seq Scan on expenseentry ee (cost=0.00..13,410.45 rows=558,045 width=1,632) (actual rows= loops=)

65. 0.000 0.000 ↓ 0.0

Hash (cost=212,992.32..212,992.32 rows=1,859,169 width=30) (actual rows= loops=)

66. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.42..212,992.32 rows=1,859,169 width=30) (actual rows= loops=)

67. 0.000 0.000 ↓ 0.0

Seq Scan on expense ex (cost=0.00..2,254.57 rows=90,257 width=27) (actual rows= loops=)

68. 0.000 0.000 ↓ 0.0

Index Scan using uix3er_currencyideffectivedate on exchangerate exchangerate_1 (cost=0.42..2.11 rows=22 width=19) (actual rows= loops=)

  • Index Cond: ((variablecurrencyid = $7) AND (fixedcurrencyid = ex.reimbursementcurrencyid) AND (ex.expensedate >= effectivedate))
  • Filter: (ex.expensedate <= enddate)
69. 0.000 0.000 ↓ 0.0

Subquery Scan on *SELECT* 4 (cost=34,176.27..34,978.80 rows=4,860 width=1,052) (actual rows= loops=)

70. 0.000 0.000 ↓ 0.0

Seq Scan on task tsk (cost=34,176.27..34,905.90 rows=4,860 width=1,044) (actual rows= loops=)

  • Filter: ((NOT (hashed SubPlan 6)) AND (NOT (hashed SubPlan 7)))
71.          

SubPlan (for Seq Scan)

72. 0.000 0.000 ↓ 0.0

Unique (cost=0.43..34,113.30 rows=9,407 width=4) (actual rows= loops=)

73. 0.000 0.000 ↓ 0.0

Index Only Scan using ixpta2taskid on dm_projecttimeallocation_facts at_2 (cost=0.43..30,472.66 rows=1,456,258 width=4) (actual rows= loops=)

  • Index Cond: (taskid IS NOT NULL)
74. 0.000 0.000 ↓ 0.0

Unique (cost=0.42..39.18 rows=104 width=4) (actual rows= loops=)

75. 0.000 0.000 ↓ 0.0

Index Only Scan using ixeetaskid on expenseentry (cost=0.42..34.96 rows=1,688 width=4) (actual rows= loops=)

  • Index Cond: (taskid IS NOT NULL)
76. 0.000 0.000 ↓ 0.0

Subquery Scan on *SELECT* 5 (cost=453,469.13..1,005,255.04 rows=575,641 width=941) (actual rows= loops=)

77. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=453,469.13..996,620.43 rows=575,641 width=933) (actual rows= loops=)

78.          

Initplan (for Nested Loop Left Join)

79. 0.000 0.000 ↓ 0.0

Seq Scan on projectsysteminformation (cost=0.00..1.01 rows=1 width=16) (actual rows= loops=)

80. 0.000 0.000 ↓ 0.0

Seq Scan on projectsysteminformation projectsysteminformation_1 (cost=0.00..1.01 rows=1 width=16) (actual rows= loops=)

81. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=453,466.68..496,537.98 rows=575,641 width=173) (actual rows= loops=)

  • Hash Cond: (bi.id = iibi.billingitemid)
82. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=453,461.24..495,021.48 rows=575,641 width=157) (actual rows= loops=)

  • Hash Cond: (aggm.billingitemid = bi.id)
  • Filter: (aggm.uri IS NULL)
83. 0.000 0.000 ↓ 0.0

Index Scan using ixbiminvoicinghint on billingitem2metadata aggm (cost=0.42..4,930.69 rows=88,542 width=67) (actual rows= loops=)

84. 0.000 0.000 ↓ 0.0

Hash (cost=401,043.87..401,043.87 rows=1,499,276 width=157) (actual rows= loops=)

85. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=302,325.96..401,043.87 rows=1,499,276 width=157) (actual rows= loops=)

  • Hash Cond: (bidm.timesheetid = t.id)
86. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=292,677.50..387,459.76 rows=1,499,276 width=145) (actual rows= loops=)

  • Hash Cond: (pbr_1.id = pbrh_1.projectbillingrateid)
  • Join Filter: ((bi.entrydate >= pbrh_1.effectivedate) AND (bi.entrydate <= pbrh_1.enddate))
87. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=291,902.74..342,277.98 rows=1,499,276 width=157) (actual rows= loops=)

  • Hash Cond: (bidm.billingrateid = br_1.id)
88. 0.000 0.000 ↓ 0.0

Hash Join (cost=291,899.96..338,242.53 rows=1,499,276 width=136) (actual rows= loops=)

  • Hash Cond: (bidm.projectid = pj_3.id)
89. 0.000 0.000 ↓ 0.0

Merge Left Join (cost=291,776.76..334,179.33 rows=1,499,276 width=136) (actual rows= loops=)

  • Merge Cond: ((bidm.billingrateid = pbr_1.billingrateid) AND (bidm.projectid = pbr_1.projectid))
  • Join Filter: (((pbr_1.billingrateid = $3) AND (bidm.userid = pbr_1.userid)) OR ((pbr_1.billingrateid <> $4) AND (pbr_1.userid IS NULL)))
90. 0.000 0.000 ↓ 0.0

Sort (cost=290,573.45..294,321.64 rows=1,499,276 width=120) (actual rows= loops=)

  • Sort Key: bidm.billingrateid, bidm.projectid
91. 0.000 0.000 ↓ 0.0

Hash Join (cost=61,097.51..136,778.96 rows=1,499,276 width=120) (actual rows= loops=)

  • Hash Cond: (bidm.billingitemid = bi.id)
92. 0.000 0.000 ↓ 0.0

Seq Scan on billingitem2denormalizedmetadata bidm (cost=0.00..69,299.60 rows=2,431,175 width=108) (actual rows= loops=)

  • Filter: (userid IS NOT NULL)
93. 0.000 0.000 ↓ 0.0

Hash (cost=42,353.60..42,353.60 rows=1,499,513 width=28) (actual rows= loops=)

94. 0.000 0.000 ↓ 0.0

Seq Scan on billingitem2 bi (cost=0.00..42,353.60 rows=1,499,513 width=28) (actual rows= loops=)

  • Filter: isbillable
95. 0.000 0.000 ↓ 0.0

Sort (cost=1,202.18..1,229.70 rows=11,009 width=40) (actual rows= loops=)

  • Sort Key: pbr_1.billingrateid, pbr_1.projectid
96. 0.000 0.000 ↓ 0.0

Seq Scan on projectbillingrate pbr_1 (cost=0.00..463.12 rows=11,009 width=40) (actual rows= loops=)

  • Filter: ((billingrateid = $3) OR ((billingrateid <> $4) AND (userid IS NULL)))
97. 0.000 0.000 ↓ 0.0

Hash (cost=78.23..78.23 rows=3,597 width=4) (actual rows= loops=)

98. 0.000 0.000 ↓ 0.0

Index Only Scan using project_pkey on project pj_3 (cost=0.28..78.23 rows=3,597 width=4) (actual rows= loops=)

99. 0.000 0.000 ↓ 0.0

Hash (cost=1.79..1.79 rows=79 width=37) (actual rows= loops=)

100. 0.000 0.000 ↓ 0.0

Seq Scan on billingrate br_1 (cost=0.00..1.79 rows=79 width=37) (actual rows= loops=)

101. 0.000 0.000 ↓ 0.0

Hash (cost=477.67..477.67 rows=23,767 width=24) (actual rows= loops=)

102. 0.000 0.000 ↓ 0.0

Seq Scan on projectbillingratehistory pbrh_1 (cost=0.00..477.67 rows=23,767 width=24) (actual rows= loops=)

103. 0.000 0.000 ↓ 0.0

Hash (cost=5,985.43..5,985.43 rows=293,043 width=28) (actual rows= loops=)

104. 0.000 0.000 ↓ 0.0

Seq Scan on timesheet t (cost=0.00..5,985.43 rows=293,043 width=28) (actual rows= loops=)

105. 0.000 0.000 ↓ 0.0

Hash (cost=3.53..3.53 rows=153 width=32) (actual rows= loops=)

106. 0.000 0.000 ↓ 0.0

Seq Scan on invoiceitembillingitems iibi (cost=0.00..3.53 rows=153 width=32) (actual rows= loops=)

107. 0.000 0.000 ↓ 0.0

Index Scan using ixbimbillingitemidkey on billingitem2metadata bi2m (cost=0.43..0.84 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (billingitemid = bi.id)
108. 0.000 0.000 ↓ 0.0

Hash (cost=555.20..555.20 rows=653 width=87) (actual rows= loops=)

109. 0.000 0.000 ↓ 0.0

Index Scan using project_pkey on project pj (cost=0.28..555.20 rows=653 width=87) (actual rows= loops=)

  • Index Cond: (id = ANY ('{15667,15634,16129,15502,16130,16327,16426,15503,16393,16427,16459,16558,16394,16294,15535,16363,16295,1842,5602,1514,2329,12103,11840,13687,11279,13357,13060,3078,12169,2252,2502,2190,2337,3050,2746,12565,12730,13655,5438,2596,2244,2798,12500,4845,7021,2828,2045,12501,13522,14579,14116,1470,13786,1997,5932,12532,1827,14182,4811,2922,2653,9892,8671,4513,9761,2654,11806,11839,8975,2485,1319,9271,13555,2694,2833,4810,12334,12268,9272,9302,12499,2938,2794,12401,12434,4843,13852,12402,9595,4844,2773,4118,6034,12403,13093,6098,12404,13885,13918,14315,14348,13390,14547,14843,9036,15106,15107,14549,15140,14778,14546,12764,2652,5901,1744,14551,15403,3755,14282,6988,14283,1661,2885,1740,14314,3756,1947,13423,2113,13258,1116,2095,14479,2827,2103,1392,9661,2892,1682,1989,1925,1805,2004,1998,9398,2909,1375,1638,2195,1901,2404,2469,2396,1756,2644,1269,4381,2212,2711,9397,2471,3071,2049,2497,2807,2695,2758,2245,4909,5274,9794,673,2766,2882,2802,8441,2966,2164,2686,10123,2750,9037,2104,2519,2902,2608,2884,2933,2756,9134,2950,2785,9793,2739,2858,2830,8210,3128,2444,4876,6790,3044,3129,2126,1946,1891,2102,3020,2857,2840,2472,2633,6031,3163,2881,2836,2887,2787,2757,2106,1801,2908,2741,1983,2442,2947,2534,2953,2330,2835,2292,2186,2685,1994,2860,2609,2594,2735,2429,7087,2975,8374,2098,2533,2504,2749,1599,2793,2706,2942,2847,894,2904,3018,1929,3019,6036,6429,3459,6430,5900,1822,2409,2602,2582,2059,1458,1512,2085,9333,1940,2447,2006,3074,2093,3985,3066,2899,2165,1772,1712,2898,3017,1461,1072,1589,3022,1688,1892,1486,1877,2148,2175,2097,1824,2058,3015,2226,2324,2128,2634,2550,8674,1727,3038,2601,2174,2903,2648,2663,3556,2705,9133,2718,4117,2657,3000,9035,3049,3085,8110,2640,9136,11509,1229,11842,11841,9034,5899,4119,3084,5008,2473,9137,2607,2987,2939,10915,11047,7055,11048,2687,2831,8111,2818,2817,2991,1939,1785,1607,1397,1978,1825,1681,1582,1748,9135,2895,9399,4185,2888,3016,1547,1568,2231,1763,1783,1730,3131,3162,1491,1515,2114,2967,6035,2215,8278,2820,6099,2465,2707,2717,1924,2743,2763,1651,1646,1422,1425,1539,1634,1957,2772,2774,2744,4613,2865,2863,1538,2862,7022,2955,2715,6101,2964,3014,9268,1541,1781,2775,2568,9894,3723,2189,3094,9269,2388,2514,1126,2636,1833,1813,1832,9270,2558,2956,2566,1484,1442,2132,1352,1739,1828,1787,1537,1593,2962,2134,1592,2154,1492,1497,1667,2155,2044,1591,1509,1590,1974,1586,1594,1664,1652,2400,1736,1754,1339,4549,2965,1993,1711,1788,3012,2211,2401,1884,1390,9303,1618,1932,3790,5570,5437,1417,1414,1780,1782,1438,4086,2209,2462,1426,1421,1738,1416,1401,1432,1653,1420,1340,1663,1554,1477,1542,1669,1440,1660,1412,1737,1735,1423,1430,1415,1683,1485,1413,1753,1493,1454,1611,1612,2464,1666,1540,1351,1665,1668,1536,2298,1829,2069,1899,1902,1926,1955,2050,1053,2764,2129,2124,2196,1428,2637,2275,2468,2635,2230,2438,2638,2779,1980,2248,2645,2470,2461,2642,2130,2219,2136,2515,2453,2125,2777,2325,2742,2647,3853,10169,2507,2716,2970,1476,6032,2723,9300,4846,2565,2778,8679,8675,9301,6296,5273,2988,4812,2989,3041,8677,9140,9299,2719,2510,9662,2218,2131,2541,2511,2538,6033,2331,2780,2284,2402,2810,2333,2403,2872,2334,2332,2407,2691,2542,2584,2460,2684,2963,2864,2564,2459,2466,2452,2666,2674,5240,2702,2855,2891,2135,2552,2463,2467,8211,11807,4315,4612,2213,2240,3391,10916,7351,2854,2976,7582,2980,8341,2861,4052,2941,2948,6890,5635,9893,4942,2951,5140,9138,9139,8640,2856,2936,2935,2977,10783}'::integer[]))
110. 0.000 0.000 ↓ 0.0

Hash (cost=32.89..32.89 rows=146 width=12) (actual rows= loops=)

111. 0.000 0.000 ↓ 0.0

Index Scan using ixullocationid on userlocation userlocation6 (cost=0.28..32.89 rows=146 width=12) (actual rows= loops=)

  • Index Cond: (locationid = ANY ('{c1bd155f-fd9d-4ea7-8e52-4c5823763e9f,ebd3c968-63d8-48c5-85c3-c276c5043ce0,36bd8d40-3794-4847-b0e9-740091e99509,990c8226-d1ce-4684-b6f6-877f9f52eb8f,1f7a6f39-ae53-4bd7-b53d-fd2af4de685e}'::uuid[]))
112. 0.000 0.000 ↓ 0.0

Hash (cost=133.85..133.85 rows=2,585 width=60) (actual rows= loops=)

113. 0.000 0.000 ↓ 0.0

Seq Scan on userinfo ui (cost=0.00..133.85 rows=2,585 width=60) (actual rows= loops=)

114. 0.000 0.000 ↓ 0.0

Hash (cost=81.85..81.85 rows=2,585 width=17) (actual rows= loops=)

115. 0.000 0.000 ↓ 0.0

Seq Scan on login (cost=0.00..81.85 rows=2,585 width=17) (actual rows= loops=)

116. 0.000 0.000 ↓ 0.0

Hash (cost=632.42..632.42 rows=19,442 width=34) (actual rows= loops=)

117. 0.000 0.000 ↓ 0.0

Seq Scan on task tk (cost=0.00..632.42 rows=19,442 width=34) (actual rows= loops=)

118. 0.000 0.000 ↓ 0.0

Hash (cost=3,380.67..3,380.67 rows=41 width=4) (actual rows= loops=)

119. 0.000 0.000 ↓ 0.0

Index Scan using uix3er_currencyideffectivedate on exchangerate (cost=0.43..3,380.67 rows=41 width=4) (actual rows= loops=)

  • Index Cond: ((variablecurrencyid = $0) AND (('now'::cstring)::date >= effectivedate))
  • Filter: (('now'::cstring)::date <= enddate)
120. 0.000 0.000 ↓ 0.0

Hash (cost=403.96..403.96 rows=445 width=4) (actual rows= loops=)

121. 0.000 0.000 ↓ 0.0

Seq Scan on project project7 (cost=0.00..403.96 rows=445 width=4) (actual rows= loops=)

  • Filter: (projectstatuslabelid = 'f6918709-d5cf-436b-b0ff-2191cd2dd6a9'::uuid)
122. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.84..0.90 rows=1 width=24) (actual rows= loops=)

123. 0.000 0.000 ↓ 0.0

Index Scan using timesheet_pkey on timesheet ts (cost=0.42..0.44 rows=1 width=24) (actual rows= loops=)

  • Index Cond: (ts_1.id = id)
124. 0.000 0.000 ↓ 0.0

Index Only Scan using dm_timesheetlist_facts_pkey on dm_timesheetlist_facts tslist (cost=0.42..0.46 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (timesheetid = ts.id)
125. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=3.10..7.40 rows=10 width=4) (actual rows= loops=)

  • Hash Cond: (projectsharingassignment11.projectid = project10.id)
  • Filter: ((alternatives: SubPlan 2 or hashed SubPlan 3) OR (project10.projectleaderapproverid = 1,052) OR (projectsharingassignment11.userid = 1,052) OR (clients13.clientmanageruserid = 1,052) OR (clientsharingassignment14.userid = 1,052) OR (program15.programmanagerid = 1,052) OR (programsharingassignment16.userid = 1,052))
126. 0.000 0.000 ↓ 0.0

Seq Scan on projectsharingassignment projectsharingassignment11 (cost=0.00..2.44 rows=144 width=8) (actual rows= loops=)

127. 0.000 0.000 ↓ 0.0

Hash (cost=2.85..2.85 rows=20 width=24) (actual rows= loops=)

128. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=1.41..2.85 rows=20 width=24) (actual rows= loops=)

129. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=1.26..1.60 rows=3 width=36) (actual rows= loops=)

130. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=1.10..1.21 rows=1 width=36) (actual rows= loops=)

131. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=0.84..0.92 rows=1 width=32) (actual rows= loops=)

132. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=0.56..0.62 rows=1 width=28) (actual rows= loops=)

133. 0.000 0.000 ↓ 0.0

Index Scan using project_pkey on project project10 (cost=0.28..0.30 rows=1 width=24) (actual rows= loops=)

  • Index Cond: (id = at.projectid)
134. 0.000 0.000 ↓ 0.0

Index Only Scan using uix4pc_projectclienteffectiveend on projectclient projectclient12 (cost=0.28..0.31 rows=1 width=8) (actual rows= loops=)

  • Index Cond: (projectid = project10.id)
135. 0.000 0.000 ↓ 0.0

Index Scan using clients_pkey on clients clients13 (cost=0.28..0.30 rows=1 width=8) (actual rows= loops=)

  • Index Cond: (projectclient12.clientid = id)
136. 0.000 0.000 ↓ 0.0

Index Scan using program_pkey on program program15 (cost=0.27..0.29 rows=1 width=20) (actual rows= loops=)

  • Index Cond: (project10.programid = id)
137. 0.000 0.000 ↓ 0.0

Index Scan using ixcsaclientid on clientsharingassignment clientsharingassignment14 (cost=0.15..0.31 rows=8 width=8) (actual rows= loops=)

  • Index Cond: (clientid = clients13.id)
138. 0.000 0.000 ↓ 0.0

Index Only Scan using programsharingassignment_pkey on programsharingassignment programsharingassignment16 (cost=0.15..0.34 rows=8 width=20) (actual rows= loops=)

  • Index Cond: (programid = program15.id)
139.          

SubPlan (for Hash Right Join)

140. 0.000 0.000 ↓ 0.0

Index Only Scan using project_pkey on project project17 (cost=0.28..1.30 rows=1 width=0) (actual rows= loops=)

  • Index Cond: (id = project10.id)
141. 0.000 0.000 ↓ 0.0

Index Only Scan using project_pkey on project project17_1 (cost=0.28..78.23 rows=3,597 width=4) (actual rows= loops=)