explain.depesz.com

PostgreSQL's explain analyze made readable

Result: cCIu

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

Sort (cost=600,844.84..600,844.85 rows=1 width=2,084) (actual rows= loops=)

  • Sort Key: ((pj.name)::character varying(255)) COLLATE "en_US", dmv_timesheetday_facts34.timesheetstartdate4, ((ui.lastname)::character varying(50)) COLLATE "en_US", ((ui.firstname)::character varying(50)) COLLATE "en_US", ((pj.code)::character varying(50)) COLLATE "en_US", ((tk.code)::character varying(50)) COLLATE "en_US", ((timeoffcode37.name)::character varying(255)) COLLATE "en_US", ((tk.name)::character varying(255)) COLLATE "en_US
2.          

CTE dmv_timesheetday_facts0cte

3. 0.000 0.000 ↓ 0.0

GroupAggregate (cost=600,835.41..600,835.45 rows=1 width=68) (actual rows= loops=)

  • Group Key: ts.userid, ((date_part('month'::text, (ts_1.startdate)::timestamp without time zone))::integer), at.projectid, at.taskid, at.timeoffcodeid
4. 0.000 0.000 ↓ 0.0

Sort (cost=600,835.41..600,835.41 rows=1 width=68) (actual rows= loops=)

  • Sort Key: ts.userid, ((date_part('month'::text, (ts_1.startdate)::timestamp without time zone))::integer), at.projectid, at.taskid, at.timeoffcodeid
5. 0.000 0.000 ↓ 0.0

Nested Loop (cost=238.68..600,835.40 rows=1 width=68) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Nested Loop (cost=238.25..600,778.08 rows=1 width=84) (actual rows= loops=)

  • Join Filter: (at.timesheetid = ts.id)
7. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.26..1,992.52 rows=1 width=56) (actual rows= loops=)

  • Join Filter: (ts.id = ts_1.id)
8. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.84..1,992.05 rows=1 width=36) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Index Scan using uix2tsuseridstartdate on timesheet ts (cost=0.42..1,990.62 rows=1 width=20) (actual rows= loops=)

  • Index Cond: ((startdate >= '2020-06-29'::date) AND (startdate <= '2020-07-05'::date))
  • Filter: ((enddate >= '2020-06-29'::date) AND (enddate <= '2020-07-05'::date))
10. 0.000 0.000 ↓ 0.0

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

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

Index Scan using timesheet_pkey on timesheet ts_1 (cost=0.42..0.45 rows=1 width=20) (actual rows= loops=)

  • Index Cond: (id = tslist.timesheetid)
12. 0.000 0.000 ↓ 0.0

Hash Join (cost=236.99..598,747.35 rows=3,057 width=92) (actual rows= loops=)

  • Hash Cond: (at.projectid = project3.id)
13. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=231.64..585,813.78 rows=1,023,344 width=616) (actual rows= loops=)

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

Hash Left Join (cost=92.35..38,003.89 rows=1,023,344 width=81) (actual rows= loops=)

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

Seq Scan on dm_attendancetimeallocation_facts at (cost=0.00..30,236.44 rows=1,023,344 width=85) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

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

17. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.15..92.34 rows=1 width=16) (actual rows= loops=)

18. 0.000 0.000 ↓ 0.0

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

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

Index Only Scan using uix4pc_projectclienteffectiveend on projectclient pc_1 (cost=0.15..5.24 rows=5 width=16) (actual rows= loops=)

  • Index Cond: (projectid = pj_2.id)
20. 0.000 0.000 ↓ 0.0

Hash (cost=126.54..126.54 rows=1,020 width=44) (actual rows= loops=)

21. 0.000 0.000 ↓ 0.0

Hash Join (cost=101.10..126.54 rows=1,020 width=44) (actual rows= loops=)

  • Hash Cond: (pc.projectid = pj_1.id)
22. 0.000 0.000 ↓ 0.0

Seq Scan on projectclient pc (cost=0.00..22.75 rows=1,020 width=44) (actual rows= loops=)

23. 0.000 0.000 ↓ 0.0

Hash (cost=87.05..87.05 rows=1,124 width=4) (actual rows= loops=)

24. 0.000 0.000 ↓ 0.0

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

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

Hash (cost=5.30..5.30 rows=4 width=4) (actual rows= loops=)

26. 0.000 0.000 ↓ 0.0

Index Scan using ixprj_code on project project3 (cost=0.28..5.30 rows=4 width=4) (actual rows= loops=)

  • Index Cond: (upper((code)::text) = 'KPJ77933'::text)
27. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (id = at.id)
  • Filter: ((userid = 175) OR (SubPlan 1) OR (SubPlan 2) OR (SubPlan 3) OR (SubPlan 4))
28.          

SubPlan (for Index Scan)

29. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.11..9.95 rows=1 width=32) (actual rows= loops=)

30. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.97..9.41 rows=1 width=84) (actual rows= loops=)

  • Join Filter: (tsapprovalrequest8.id = tsapprovalrequestkeyvalue5.tsapprovalrequestid)
31. 0.000 0.000 ↓ 0.0

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

32. 0.000 0.000 ↓ 0.0

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

33. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (userid = 175)
34. 0.000 0.000 ↓ 0.0

Index Scan using timesheetapprovalnodes_pkey on timesheetapprovalnodes timesheetapprovalnodes7 (cost=0.28..2.30 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (id = tsapprovalrequest8.nodeid)
  • Filter: (timesheetid = ttendancetimeallocation_facts4.timesheetid)
35. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (id = ttendancetimeallocation_facts4.timesheetid)
36. 0.000 0.000 ↓ 0.0

Seq Scan on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue5 (cost=0.00..1.21 rows=12 width=88) (actual rows= loops=)

  • Filter: (upper(key) = 'URN:REPLICON:APPROVAL-REQUEST-METADATA-KEY:ADDITIONAL-APPROVER-DATA-ACCESS-LEVELS'::text)
37. 0.000 0.000 ↓ 0.0

Index Scan using tsapprovalrequestkeyvalue_pkey on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue9 (cost=0.14..0.40 rows=1 width=16) (actual rows= loops=)

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

Nested Loop (cost=15.89..29.68 rows=1 width=32) (actual rows= loops=)

39. 0.000 0.000 ↓ 0.0

Nested Loop (cost=15.46..29.16 rows=1 width=16) (actual rows= loops=)

40. 0.000 0.000 ↓ 0.0

Nested Loop (cost=15.03..25.70 rows=1 width=16) (actual rows= loops=)

41. 0.000 0.000 ↓ 0.0

Nested Loop (cost=14.60..25.18 rows=1 width=16) (actual rows= loops=)

42. 0.000 0.000 ↓ 0.0

Nested Loop (cost=14.17..24.12 rows=1 width=16) (actual rows= loops=)

43. 0.000 0.000 ↓ 0.0

Nested Loop (cost=13.74..22.87 rows=1 width=16) (actual rows= loops=)

44. 0.000 0.000 ↓ 0.0

Nested Loop (cost=13.31..20.43 rows=1 width=16) (actual rows= loops=)

45. 0.000 0.000 ↓ 0.0

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

46. 0.000 0.000 ↓ 0.0

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

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

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

  • Index Cond: (timesheetid = ttendancetimeallocation_facts4.timesheetid)
  • Filter: (userid = 175)
48. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue13 (cost=12.46..13.49 rows=1 width=32) (actual rows= loops=)

  • Recheck Cond: ((timesheetapprovalhistoryid = timesheetapprovalhistory12.id) AND (upper(uri) = 'URN:REPLICON-TENANT:D1F94C919CE54817B2DB207FAC3AFE05:USER:175'::text))
  • Filter: (upper(key) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-NODES'::text)
49. 0.000 0.000 ↓ 0.0

BitmapAnd (cost=12.46..12.46 rows=1 width=0) (actual rows= loops=)

50. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on ixtahkvtimesheetapprovalhistoryid (cost=0.00..1.53 rows=14 width=0) (actual rows= loops=)

  • Index Cond: (timesheetapprovalhistoryid = timesheetapprovalhistory12.id)
51. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on ixtahkvuri (cost=0.00..10.57 rows=536 width=0) (actual rows= loops=)

  • Index Cond: (upper(uri) = 'URN:REPLICON-TENANT:D1F94C919CE54817B2DB207FAC3AFE05:USER:175'::text)
52. 0.000 0.000 ↓ 0.0

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

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

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

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

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

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue15.id)
55. 0.000 0.000 ↓ 0.0

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

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

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

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue17.id)
57. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue18.id)
58. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.97..10.45 rows=1 width=32) (actual rows= loops=)

  • Join Filter: (tsapprovalrequestkeyvalue19.parentid = tsapprovalrequestkeyvalue23.id)
59. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.97..9.27 rows=1 width=84) (actual rows= loops=)

  • Join Filter: (tsapprovalrequest22.id = tsapprovalrequestkeyvalue19.tsapprovalrequestid)
60. 0.000 0.000 ↓ 0.0

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

61. 0.000 0.000 ↓ 0.0

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

62. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (userid = 175)
63. 0.000 0.000 ↓ 0.0

Index Scan using timesheetapprovalnodes_pkey on timesheetapprovalnodes timesheetapprovalnodes21 (cost=0.28..2.30 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (id = tsapprovalrequest22.nodeid)
  • Filter: (timesheetid = ttendancetimeallocation_facts4.timesheetid)
64. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (id = ttendancetimeallocation_facts4.timesheetid)
65. 0.000 0.000 ↓ 0.0

Seq Scan on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue19 (cost=0.00..1.21 rows=1 width=88) (actual rows= loops=)

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

Seq Scan on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue23 (cost=0.00..1.14 rows=3 width=16) (actual rows= loops=)

  • Filter: (parentid IS NULL)
67. 0.000 0.000 ↓ 0.0

Nested Loop (cost=15.89..29.68 rows=1 width=32) (actual rows= loops=)

68. 0.000 0.000 ↓ 0.0

Nested Loop (cost=15.46..29.16 rows=1 width=16) (actual rows= loops=)

69. 0.000 0.000 ↓ 0.0

Nested Loop (cost=15.03..25.70 rows=1 width=16) (actual rows= loops=)

70. 0.000 0.000 ↓ 0.0

Nested Loop (cost=14.60..25.18 rows=1 width=16) (actual rows= loops=)

71. 0.000 0.000 ↓ 0.0

Nested Loop (cost=14.17..24.12 rows=1 width=16) (actual rows= loops=)

72. 0.000 0.000 ↓ 0.0

Nested Loop (cost=13.74..22.87 rows=1 width=16) (actual rows= loops=)

73. 0.000 0.000 ↓ 0.0

Nested Loop (cost=13.31..20.43 rows=1 width=16) (actual rows= loops=)

74. 0.000 0.000 ↓ 0.0

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

75. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (id = ttendancetimeallocation_facts4.timesheetid)
76. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (timesheetid = ttendancetimeallocation_facts4.timesheetid)
  • Filter: (userid = 175)
77. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue27 (cost=12.46..13.49 rows=1 width=32) (actual rows= loops=)

  • Recheck Cond: ((timesheetapprovalhistoryid = timesheetapprovalhistory26.id) AND (upper(uri) = 'URN:REPLICON-TENANT:D1F94C919CE54817B2DB207FAC3AFE05:USER:175'::text))
  • Filter: (upper(key) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-NODES'::text)
78. 0.000 0.000 ↓ 0.0

BitmapAnd (cost=12.46..12.46 rows=1 width=0) (actual rows= loops=)

79. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on ixtahkvtimesheetapprovalhistoryid (cost=0.00..1.53 rows=14 width=0) (actual rows= loops=)

  • Index Cond: (timesheetapprovalhistoryid = timesheetapprovalhistory26.id)
80. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on ixtahkvuri (cost=0.00..10.57 rows=536 width=0) (actual rows= loops=)

  • Index Cond: (upper(uri) = 'URN:REPLICON-TENANT:D1F94C919CE54817B2DB207FAC3AFE05:USER:175'::text)
81. 0.000 0.000 ↓ 0.0

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

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

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

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

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

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue29.id)
84. 0.000 0.000 ↓ 0.0

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

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

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

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

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

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue32.id)
87.          

Initplan (for Sort)

88. 0.000 0.000 ↓ 0.0

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

89. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=1.00..8.37 rows=1 width=2,084) (actual rows= loops=)

90. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=0.87..8.20 rows=1 width=168) (actual rows= loops=)

91. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.59..5.90 rows=1 width=133) (actual rows= loops=)

92. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=0.31..3.60 rows=1 width=118) (actual rows= loops=)

93. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=0.03..1.30 rows=1 width=80) (actual rows= loops=)

  • Hash Cond: (timeoffcode37.id = dmv_timesheetday_facts34.timeoffcodeid7)
94. 0.000 0.000 ↓ 0.0

Seq Scan on timeoffcode timeoffcode37 (cost=0.00..1.19 rows=19 width=20) (actual rows= loops=)

95. 0.000 0.000 ↓ 0.0

Hash (cost=0.02..0.02 rows=1 width=68) (actual rows= loops=)

96. 0.000 0.000 ↓ 0.0

CTE Scan on dmv_timesheetday_facts0cte dmv_timesheetday_facts34 (cost=0.00..0.02 rows=1 width=68) (actual rows= loops=)

97. 0.000 0.000 ↓ 0.0

Index Scan using project_pkey on project pj (cost=0.28..2.29 rows=1 width=42) (actual rows= loops=)

  • Index Cond: (dmv_timesheetday_facts34.projectid5 = id)
98. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (id = dmv_timesheetday_facts34.userid3)
99. 0.000 0.000 ↓ 0.0

Index Scan using task_pkey on task tk (cost=0.29..2.30 rows=1 width=39) (actual rows= loops=)

  • Index Cond: (dmv_timesheetday_facts34.taskid6 = id)
100. 0.000 0.000 ↓ 0.0

Index Scan using uix3er_currencyideffectivedate on exchangerate (cost=0.13..0.16 rows=1 width=4) (actual rows= loops=)

  • Index Cond: ((variablecurrencyid = $30) AND (tk.estimatedcostcurrencyid = fixedcurrencyid) AND (('now'::cstring)::date >= effectivedate))
  • Filter: (('now'::cstring)::date <= enddate)