explain.depesz.com

PostgreSQL's explain analyze made readable

Result: jyYs

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

Sort (cost=143,006.10..143,006.10 rows=1 width=832) (actual rows= loops=)

  • Sort Key: ((dep.name)::character varying(255)) COLLATE "en_US", ((ui.firstname)::character varying(50)) COLLATE "en_US", ((ui.lastname)::character varying(50)) COLLATE "en_US", ts_1.startdate, ts_1.enddate, (((CASE WHEN (at.timeoffcodeid IS NULL) THEN at.timeentryinfo2 ELSE NULL::character varying END))::character varying) COLLATE "en_US
2. 0.000 0.000 ↓ 0.0

Nested Loop Semi Join (cost=363.12..143,006.09 rows=1 width=832) (actual rows= loops=)

  • Join Filter: (at.id = at_1.id)
3. 0.000 0.000 ↓ 0.0

Nested Loop (cost=228.40..100,244.43 rows=1 width=111) (actual rows= loops=)

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

Nested Loop (cost=225.78..100,218.37 rows=1 width=97) (actual rows= loops=)

  • Join Filter: (ts.userid = ui.id)
5. 0.000 0.000 ↓ 0.0

Index Scan using userinfo_pkey on userinfo ui (cost=0.28..41.03 rows=917 width=17) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Materialize (cost=225.50..100,163.59 rows=1 width=80) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=225.50..100,163.58 rows=1 width=80) (actual rows= loops=)

  • Filter: ((upper(esheetapprovalhistorykeyvalue6.uri) = ANY ('{URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:472,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:262,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:848,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:265,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:384,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:263,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:156,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:616,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:431,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:165,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:349,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:303,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:524,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:904,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:756,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:2,454,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:2,750,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:770,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:272,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:354,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:771,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:155,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:288,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:257,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:208,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:273,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:971,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:592,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:4,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:269,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:916,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:843,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:776,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:533,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:370,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:52,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:1,012,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:1,761,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:833,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:321,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:836,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:711,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:2,387,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:91,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:2,189,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:68,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:112,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:94,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:827,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:427,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:377,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:895,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:167,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:874,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:90,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:205,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:278,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:830,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:611,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:1,015,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:92,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:274,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:314,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:744,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:380,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:77,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:992,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:353,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:261,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:271,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:151,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:117,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:86,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:464,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:277,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:361,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:2,717,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:98,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:858,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:614,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:99,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:170,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:247,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:285,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:2,618,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:258,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:428,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:2,915,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:826,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:875,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:84,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:421,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:281,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:676,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:294,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:2,849,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:276,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:845,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:925,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:840,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:240,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:1,364,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:672,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:95,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:707,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:706,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:483,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:712,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:419,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:85,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:897,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:275,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:823,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:270,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:957,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:919,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:1,202,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:259,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:376,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:230,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:264,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:51,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:778,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:188,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:152,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:78,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:372,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:69,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:249,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:250,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:110,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:2,486,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:557,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:828,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:93,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:724,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:956,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:768,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:2,882,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:378,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:355,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:657,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:741,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:675,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:1,014,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:538,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:2,784,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:615,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:623,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:797,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:1,529,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:305,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:850,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:2,057,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:576,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:2,453,URN:REPLICON-TENANT:TWO-DEGREES-MOBILE-LIMITED-2:USER:220}'::text[])) OR (esheetapprovalhistorykeyvalue6.uri IS NULL))
8. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=225.07..100,138.42 rows=1 width=96) (actual rows= loops=)

  • Filter: ((tahls.timesheetid IS NULL) OR (tah.serialnumber > tahls.lastsubmitserialnumber))
9. 0.000 0.000 ↓ 0.0

Nested Loop (cost=224.65..100,135.97 rows=1 width=116) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Nested Loop (cost=224.24..100,135.52 rows=1 width=160) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Nested Loop (cost=223.82..100,135.01 rows=1 width=144) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Nested Loop (cost=223.40..100,134.56 rows=1 width=120) (actual rows= loops=)

  • Join Filter: (at.timesheetid = tah.timesheetid)
13. 0.000 0.000 ↓ 0.0

Index Scan using ixtahaction on timesheetapprovalhistory tah (cost=0.42..14,046.96 rows=1 width=36) (actual rows= loops=)

  • Index Cond: (action = ANY ('{2,3,6}'::integer[]))
  • Filter: (((systemprocessidentifier IS NULL) OR (systemprocessidentifier <> 'urn:replicon:approval-system-process:timesheet-submit-script-data-and-validation'::text)) AND (timestamputc >= '2020-07-03 12:00:00'::timestamp without time zone) AND (timestamputc < '2020-08-03 12:00:00'::timestamp without time zone))
14. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=222.98..83,831.78 rows=100,259 width=616) (actual rows= loops=)

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

Hash Left Join (cost=88.42..30,036.48 rows=100,259 width=84) (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))
16. 0.000 0.000 ↓ 0.0

Index Scan using ixata2userid on dm_attendancetimeallocation_facts at (cost=0.42..29,196.53 rows=100,259 width=84) (actual rows= loops=)

  • Index Cond: ((entrydate >= '2020-02-29'::date) AND (entrydate <= '2020-08-03'::date))
17. 0.000 0.000 ↓ 0.0

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

18. 0.000 0.000 ↓ 0.0

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

19. 0.000 0.000 ↓ 0.0

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

  • Filter: (clientbillingallocationmethod = 1)
20. 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_1.id)
21. 0.000 0.000 ↓ 0.0

Hash (cost=121.81..121.81 rows=1,020 width=52) (actual rows= loops=)

22. 0.000 0.000 ↓ 0.0

Hash Join (cost=96.38..121.81 rows=1,020 width=52) (actual rows= loops=)

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

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

24. 0.000 0.000 ↓ 0.0

Hash (cost=82.69..82.69 rows=1,095 width=8) (actual rows= loops=)

25. 0.000 0.000 ↓ 0.0

Seq Scan on project pj (cost=0.00..82.69 rows=1,095 width=8) (actual rows= loops=)

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

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

  • Index Cond: (id = at.timesheetid)
27. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (timesheetid = at.timesheetid)
  • Filter: (timesheetstatus = 2)
28. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (id = at.timesheetid)
29. 0.000 0.000 ↓ 0.0

Index Scan using timesheetapprovalhistorylastsubmit_pkey on timesheetapprovalhistorylastsubmit tahls (cost=0.42..2.44 rows=1 width=20) (actual rows= loops=)

  • Index Cond: (tah.timesheetid = timesheetid)
30. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvtimesheetapprovalhistoryid on timesheetapprovalhistorykeyvalue esheetapprovalhistorykeyvalue6 (cost=0.43..24.95 rows=1 width=87) (actual rows= loops=)

  • Index Cond: (tah.id = timesheetapprovalhistoryid)
  • Filter: (upper(key) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:ACTING-ACTUAL-USER'::text)
31. 0.000 0.000 ↓ 0.0

Hash Join (cost=2.62..21.22 rows=387 width=22) (actual rows= loops=)

  • Hash Cond: (du.departmentid = dep.id)
32. 0.000 0.000 ↓ 0.0

Index Only Scan using departmentusers_pkey on departmentusers du (cost=0.28..17.79 rows=387 width=8) (actual rows= loops=)

  • Index Cond: (departmentid = ANY ('{2,41,37,43,203,8,202,78,88,3,4,206,35,130,36,6,97,7}'::integer[]))
33. 0.000 0.000 ↓ 0.0

Hash (cost=1.60..1.60 rows=60 width=22) (actual rows= loops=)

34. 0.000 0.000 ↓ 0.0

Seq Scan on departments dep (cost=0.00..1.60 rows=60 width=22) (actual rows= loops=)

35. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=134.71..42,360.05 rows=17,849 width=616) (actual rows= loops=)

  • Hash Cond: (at_1.projectid = pj_2.id)
  • Join Filter: ((at_1.entrydate >= pc_2.effectivedate) AND (at_1.entrydate <= pc_2.enddate))
36. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=0.15..32,806.19 rows=17,849 width=61) (actual rows= loops=)

  • Join Filter: ((at_1.entrydate >= pc_3.effectivedate) AND (at_1.entrydate <= pc_3.enddate) AND (pj_3.id = at_1.projectid) AND (pc_3.clientid = at_1.userspecifiedclientid))
37. 0.000 0.000 ↓ 0.0

Seq Scan on dm_attendancetimeallocation_facts at_1 (cost=0.00..32,316.61 rows=17,849 width=65) (actual rows= loops=)

  • Filter: (upper((CASE WHEN (timeoffcodeid IS NULL) THEN timeentryinfo2 ELSE NULL::character varying END)::text) = ANY ('{"T1.5 CALLOUT","T1.5 OVERTIME","T2 CALLOUT","T2 OVERTIME"}'::text[]))
38. 0.000 0.000 ↓ 0.0

Materialize (cost=0.15..87.98 rows=1 width=16) (actual rows= loops=)

39. 0.000 0.000 ↓ 0.0

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

40. 0.000 0.000 ↓ 0.0

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

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

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

  • Index Cond: (projectid = pj_3.id)
42. 0.000 0.000 ↓ 0.0

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

43. 0.000 0.000 ↓ 0.0

Hash Join (cost=96.38..121.81 rows=1,020 width=44) (actual rows= loops=)

  • Hash Cond: (pc_2.projectid = pj_2.id)
44. 0.000 0.000 ↓ 0.0

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

45. 0.000 0.000 ↓ 0.0

Hash (cost=82.69..82.69 rows=1,095 width=4) (actual rows= loops=)

46. 0.000 0.000 ↓ 0.0

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

  • Filter: (clientbillingallocationmethod = 0)