explain.depesz.com

PostgreSQL's explain analyze made readable

Result: jUx8

Settings
# exclusive inclusive rows x rows loops node
1. 0.076 67,974.991 ↑ 1.0 11 1

Limit (cost=242,619.32..242,619.34 rows=11 width=2,428) (actual time=67,974.912..67,974.991 rows=11 loops=1)

  • Output: ts.id, c.id, ((c.name)::character varying(255)), ((c.slug)::character varying(255)), ((c.code)::character varying(50)), p.id, ((p.name)::character varying(255)), ((p.slug)::character varying(255)), ((p.code)::character varying(50)), task.id, ((ta (...)
2. 236.955 67,974.915 ↑ 719.5 11 1

Sort (cost=242,619.32..242,639.10 rows=7,914 width=2,428) (actual time=67,974.910..67,974.915 rows=11 loops=1)

  • Output: ts.id, c.id, ((c.name)::character varying(255)), ((c.slug)::character varying(255)), ((c.code)::character varying(50)), p.id, ((p.name)::character varying(255)), ((p.slug)::character varying(255)), ((p.code)::character varying(50)), task.id (...)
  • Sort Key: ((0 + (((0 + (CASE WHEN (upper((c.name)::text) ~~ '%A%'::text) THEN true ELSE false END)::integer) + (CASE WHEN (upper((p.name)::text) ~~ '%A%'::text) THEN true ELSE false END)::integer) + (CASE WHEN (upper((task.name)::text) ~~ '%A%'::te (...)
  • Sort Method: top-N heapsort Memory: 29kB
3. 685.912 67,737.960 ↓ 30.7 243,303 1

Nested Loop (cost=99.22..242,442.86 rows=7,914 width=2,428) (actual time=3.038..67,737.960 rows=243,303 loops=1)

  • Output: ts.id, c.id, c.name, c.slug, c.code, p.id, p.name, p.slug, p.code, task.id, task.name, task.name, task.code, (0 + (((0 + (CASE WHEN (upper((c.name)::text) ~~ '%A%'::text) THEN true ELSE false END)::integer) + (CASE WHEN (upper((p.name (...)
4. 0.040 0.040 ↑ 1.0 1 1

Index Only Scan using timesheet_pkey on e3ec273096164aa4a2a67621ca1e0643.timesheet ts (cost=0.42..8.44 rows=1 width=16) (actual time=0.037..0.040 rows=1 loops=1)

  • Output: ts.id
  • Index Cond: (ts.id = '484e44e6-7209-4c91-9351-961796dc98d2'::uuid)
  • Heap Fetches: 1
5. 1,218.422 67,052.008 ↓ 30.7 243,303 1

Hash Left Join (cost=98.81..242,098.08 rows=7,914 width=136) (actual time=2.992..67,052.008 rows=243,303 loops=1)

  • Output: p.id, p.name, p.slug, p.code, task.id, task.name, task.code, c.id, c.name, c.slug, c.code
  • Inner Unique: true
  • Hash Cond: (projectclient.clientid = c.id)
  • Filter: (((upper((c.name)::text) ~~ '%A%'::text) OR (upper((p.name)::text) ~~ '%A%'::text) OR (upper((task.name)::text) ~~ '%A%'::text)) AND (((c.id IS NULL) AND (NOT (alternatives: SubPlan 1 or hashed SubPlan 2))) OR ((c.id IS NOT NULL (...)
  • Rows Removed by Filter: 274,537
6. 592.480 65,345.992 ↓ 32.7 517,840 1

Nested Loop (cost=87.12..241,376.06 rows=15,828 width=84) (actual time=2.621..65,345.992 rows=517,840 loops=1)

  • Output: p.id, p.name, p.slug, p.code, task.id, task.name, task.code, projectclient.clientid
7. 1,110.785 62,683.032 ↓ 281.0 258,810 1

Hash Join (cost=86.85..240,813.47 rows=921 width=84) (actual time=2.591..62,683.032 rows=258,810 loops=1)

  • Output: p.id, p.name, p.slug, p.code, task.id, task.name, task.code, task.projectid
  • Inner Unique: true
  • Hash Cond: ((SubPlan 37) = projectstatuslabel3.id)
8. 641.255 60,396.814 ↓ 1.8 328,898 1

Hash Join (cost=85.75..160,505.07 rows=184,149 width=84) (actual time=2.494..60,396.814 rows=328,898 loops=1)

  • Output: p.id, p.name, p.slug, p.code, task.id, task.name, task.code, task.projectid
  • Inner Unique: true
  • Hash Cond: (task.projectid = p.id)
  • Join Filter: (((task.id IS NULL) AND (SubPlan 4) AND (SubPlan 12)) OR ((task.id IS NOT NULL) AND (SubPlan 28)))
  • Rows Removed by Join Filter: 40,785
9. 272.802 502.491 ↓ 1.0 369,683 1

Append (cost=0.00..8,570.81 rows=369,681 width=34) (actual time=0.015..502.491 rows=369,683 loops=1)

10. 228.730 228.730 ↓ 1.0 367,960 1

Seq Scan on e3ec273096164aa4a2a67621ca1e0643.task (cost=0.00..8,506.59 rows=367,959 width=34) (actual time=0.014..228.730 rows=367,960 loops=1)

  • Output: task.id, task.name, task.code, task.projectid
11. 0.959 0.959 ↓ 1.0 1,723 1

Seq Scan on e3ec273096164aa4a2a67621ca1e0643.project (cost=0.00..64.22 rows=1,722 width=72) (actual time=0.009..0.959 rows=1,723 loops=1)

  • Output: NULL::integer, NULL::character varying, NULL::character varying, project.id
12. 0.964 2.008 ↓ 1.0 1,723 1

Hash (cost=64.22..64.22 rows=1,722 width=66) (actual time=2.007..2.008 rows=1,723 loops=1)

  • Output: p.id, p.name, p.slug, p.code, p.programid
  • Buckets: 2,048 Batches: 1 Memory Usage: 153kB
13. 1.044 1.044 ↓ 1.0 1,723 1

Seq Scan on e3ec273096164aa4a2a67621ca1e0643.project p (cost=0.00..64.22 rows=1,722 width=66) (actual time=0.011..1.044 rows=1,723 loops=1)

  • Output: p.id, p.name, p.slug, p.code, p.programid
14.          

SubPlan (for Hash Join)

15. 3.446 3.446 ↑ 1.0 1 1,723

Index Scan using project_pkey on e3ec273096164aa4a2a67621ca1e0643.project project4 (cost=0.28..8.29 rows=1 width=1) (actual time=0.002..0.002 rows=1 loops=1,723)

  • Output: project4.istimeentryallowed
  • Index Cond: (project4.id = p.id)
16. 5.860 6.054 ↓ 0.0 0 1,009

Index Scan using uix3ptm_projectrole on e3ec273096164aa4a2a67621ca1e0643.projectteammember projectteammember5 (cost=126.21..1,166.69 rows=615 width=0) (actual time=0.006..0.006 rows=0 loops=1,009)

  • Index Cond: (projectteammember5.projectid = p.id)
  • Filter: ((projectteammember5.userid = 376) OR (hashed SubPlan 5) OR (hashed SubPlan 6) OR (hashed SubPlan 7) OR (hashed SubPlan 8) OR (hashed SubPlan 9) OR (hashed SubPlan 10) OR (hashed SubPlan 11))
  • Rows Removed by Filter: 6
17.          

SubPlan (for Index Scan)

18. 0.045 0.102 ↑ 1.0 2 1

Nested Loop (cost=0.28..11.75 rows=2 width=4) (actual time=0.017..0.102 rows=2 loops=1)

  • Output: departmentflathierarchy6.parentid
  • Join Filter: (departmentusers7.departmentid = departmentflathierarchy6.childid)
  • Rows Removed by Join Filter: 107
19. 0.009 0.009 ↑ 1.0 1 1

Index Scan using ixduuserid on e3ec273096164aa4a2a67621ca1e0643.departmentusers departmentusers7 (cost=0.28..8.30 rows=1 width=4) (actual time=0.007..0.009 rows=1 loops=1)

  • Output: departmentusers7.departmentid, departmentusers7.userid, departmentusers7.isprimarydepartment
  • Index Cond: (departmentusers7.userid = 376)
20. 0.048 0.048 ↑ 1.0 109 1

Seq Scan on e3ec273096164aa4a2a67621ca1e0643.departmentflathierarchy departmentflathierarchy6 (cost=0.00..2.09 rows=109 width=8) (actual time=0.006..0.048 rows=109 loops=1)

  • Output: departmentflathierarchy6.parentid, departmentflathierarchy6.childid, departmentflathierarchy6.depth
21. 0.005 0.028 ↑ 2.0 1 1

Nested Loop (cost=4.57..16.84 rows=2 width=16) (actual time=0.024..0.028 rows=1 loops=1)

  • Output: locationflathierarchy8.parentid
22. 0.009 0.009 ↑ 1.0 1 1

Index Only Scan using ix4ul_userlocationstartend on e3ec273096164aa4a2a67621ca1e0643.userlocation userlocation9 (cost=0.28..8.30 rows=1 width=16) (actual time=0.008..0.009 rows=1 loops=1)

  • Output: userlocation9.userid, userlocation9.locationid, userlocation9.startdate, userlocation9.enddate
  • Index Cond: ((userlocation9.userid = 376) AND (userlocation9.startdate <= '2019-09-30'::date) AND (userlocation9.enddate >= '2019-09-22'::date))
  • Heap Fetches: 1
23. 0.008 0.014 ↑ 2.0 1 1

Bitmap Heap Scan on e3ec273096164aa4a2a67621ca1e0643.locationflathierarchy locationflathierarchy8 (cost=4.29..8.52 rows=2 width=32) (actual time=0.012..0.014 rows=1 loops=1)

  • Output: locationflathierarchy8.parentid, locationflathierarchy8.childid, locationflathierarchy8.parentdepth
  • Recheck Cond: (locationflathierarchy8.childid = userlocation9.locationid)
  • Heap Blocks: exact=1
24. 0.006 0.006 ↑ 2.0 1 1

Bitmap Index Scan on ixlfhchildid (cost=0.00..4.29 rows=2 width=0) (actual time=0.005..0.006 rows=1 loops=1)

  • Index Cond: (locationflathierarchy8.childid = userlocation9.locationid)
25. 0.001 0.012 ↓ 0.0 0 1

Nested Loop (cost=4.35..21.96 rows=6 width=16) (actual time=0.011..0.012 rows=0 loops=1)

  • Output: divisionflathierarchy10.parentid
26. 0.011 0.011 ↓ 0.0 0 1

Index Only Scan using ix4ud_userdivisionstartend on e3ec273096164aa4a2a67621ca1e0643.userdivision userdivision11 (cost=0.15..8.24 rows=1 width=16) (actual time=0.010..0.011 rows=0 loops=1)

  • Output: userdivision11.userid, userdivision11.divisionid, userdivision11.startdate, userdivision11.enddate
  • Index Cond: ((userdivision11.userid = 376) AND (userdivision11.startdate <= '2019-09-30'::date) AND (userdivision11.enddate >= '2019-09-22'::date))
  • Heap Fetches: 0
27. 0.000 0.000 ↓ 0.0 0

Bitmap Heap Scan on e3ec273096164aa4a2a67621ca1e0643.divisionflathierarchy divisionflathierarchy10 (cost=4.20..13.67 rows=6 width=32) (never executed)

  • Output: divisionflathierarchy10.parentid, divisionflathierarchy10.childid, divisionflathierarchy10.parentdepth
  • Recheck Cond: (divisionflathierarchy10.childid = userdivision11.divisionid)
28. 0.000 0.000 ↓ 0.0 0

Bitmap Index Scan on ixdivfhchildid (cost=0.00..4.20 rows=6 width=0) (never executed)

  • Index Cond: (divisionflathierarchy10.childid = userdivision11.divisionid)
29. 0.001 0.011 ↓ 0.0 0 1

Nested Loop (cost=4.35..21.96 rows=6 width=16) (actual time=0.010..0.011 rows=0 loops=1)

  • Output: costcenterflathierarchy12.parentid
30. 0.010 0.010 ↓ 0.0 0 1

Index Only Scan using ix4ucc_usercostcenterstartend on e3ec273096164aa4a2a67621ca1e0643.usercostcenter usercostcenter13 (cost=0.15..8.24 rows=1 width=16) (actual time=0.009..0.010 rows=0 loops=1)

  • Output: usercostcenter13.userid, usercostcenter13.costcenterid, usercostcenter13.startdate, usercostcenter13.enddate
  • Index Cond: ((usercostcenter13.userid = 376) AND (usercostcenter13.startdate <= '2019-09-30'::date) AND (usercostcenter13.enddate >= '2019-09-22'::date))
  • Heap Fetches: 0
31. 0.000 0.000 ↓ 0.0 0

Bitmap Heap Scan on e3ec273096164aa4a2a67621ca1e0643.costcenterflathierarchy costcenterflathierarchy12 (cost=4.20..13.67 rows=6 width=32) (never executed)

  • Output: costcenterflathierarchy12.parentid, costcenterflathierarchy12.childid, costcenterflathierarchy12.parentdepth
  • Recheck Cond: (costcenterflathierarchy12.childid = usercostcenter13.costcenterid)
32. 0.000 0.000 ↓ 0.0 0

Bitmap Index Scan on ixccfhchildid (cost=0.00..4.20 rows=6 width=0) (never executed)

  • Index Cond: (costcenterflathierarchy12.childid = usercostcenter13.costcenterid)
33. 0.021 0.021 ↓ 0.0 0 1

Nested Loop (cost=4.35..21.96 rows=6 width=16) (actual time=0.021..0.021 rows=0 loops=1)

  • Output: servicecenterflathierarchy14.parentid
  • -> Index Only Scan using ix4usc_userservicecenterstartend on e3ec273096164aa4a2a67621ca1e0643.userservicecenter userservicecenter15 (cost=0.15..8.24 rows=1 width=16) (actual time=0.020..0.020 rows=0 l (...)
  • Output: userservicecenter15.userid, userservicecenter15.servicecenterid, userservicecenter15.startdate, userservicecenter15.enddate
  • Index Cond: ((userservicecenter15.userid = 376) AND (userservicecenter15.startdate <= '2019-09-30'::date) AND (userservicecenter15.enddate >= '2019-09-22'::date))
  • Heap Fetches: 0
34. 0.000 0.000 ↓ 0.0 0

Bitmap Heap Scan on e3ec273096164aa4a2a67621ca1e0643.servicecenterflathierarchy servicecenterflathierarchy14 (cost=4.20..13.67 rows=6 width=32) (never executed)

  • Output: servicecenterflathierarchy14.parentid, servicecenterflathierarchy14.childid, servicecenterflathierarchy14.parentdepth
  • Recheck Cond: (servicecenterflathierarchy14.childid = userservicecenter15.servicecenterid)
35. 0.000 0.000 ↓ 0.0 0

Bitmap Index Scan on ixscfhchildid (cost=0.00..4.20 rows=6 width=0) (never executed)

  • Index Cond: (servicecenterflathierarchy14.childid = userservicecenter15.servicecenterid)
36. 0.010 0.010 ↓ 0.0 0 1

Nested Loop (cost=0.15..9.26 rows=1 width=16) (actual time=0.009..0.010 rows=0 loops=1)

  • Output: departmentgroupflathierarchy16.parentid
  • Join Filter: (userdepartmentgroup17.departmentgroupid = departmentgroupflathierarchy16.childid)
  • -> Index Only Scan using ix4ucc_userdepartmentgroupstartend on e3ec273096164aa4a2a67621ca1e0643.userdepartmentgroup userdepartmentgroup17 (cost=0.15..8.24 rows=1 width=16) (actual time=0.008..0.009 ro (...)
  • Output: userdepartmentgroup17.userid, userdepartmentgroup17.departmentgroupid, userdepartmentgroup17.startdate, userdepartmentgroup17.enddate
  • Index Cond: ((userdepartmentgroup17.userid = 376) AND (userdepartmentgroup17.startdate <= '2019-09-30'::date) AND (userdepartmentgroup17.enddate >= '2019-09-22'::date))
  • Heap Fetches: 0
37. 0.000 0.000 ↓ 0.0 0

Seq Scan on e3ec273096164aa4a2a67621ca1e0643.departmentgroupflathierarchy departmentgroupflathierarchy16 (cost=0.00..1.01 rows=1 width=32) (never executed)

  • Output: departmentgroupflathierarchy16.parentid, departmentgroupflathierarchy16.childid, departmentgroupflathierarchy16.parentdepth
38. 0.010 0.010 ↓ 0.0 0 1

Nested Loop (cost=4.35..21.96 rows=6 width=16) (actual time=0.009..0.010 rows=0 loops=1)

  • Output: ployeetypegroupflathierarchy18.parentid
  • -> Index Only Scan using ix4ucc_useremployeetypegroupstartend on e3ec273096164aa4a2a67621ca1e0643.useremployeetypegroup useremployeetypegroup19 (cost=0.15..8.24 rows=1 width=16) (actual time=0.009..0. (...)
  • Output: useremployeetypegroup19.userid, useremployeetypegroup19.employeetypegroupid, useremployeetypegroup19.startdate, useremployeetypegroup19.enddate
  • Index Cond: ((useremployeetypegroup19.userid = 376) AND (useremployeetypegroup19.startdate <= '2019-09-30'::date) AND (useremployeetypegroup19.enddate >= '2019-09-22'::date))
  • Heap Fetches: 0
39. 0.000 0.000 ↓ 0.0 0

Bitmap Heap Scan on e3ec273096164aa4a2a67621ca1e0643.employeetypegroupflathierarchy ployeetypegroupflathierarchy18 (cost=4.20..13.67 rows=6 width=32) (never executed)

  • Output: ployeetypegroupflathierarchy18.parentid, ployeetypegroupflathierarchy18.childid, ployeetypegroupflathierarchy18.parentdepth
  • Recheck Cond: (ployeetypegroupflathierarchy18.childid = useremployeetypegroup19.employeetypegroupid)
40. 0.000 0.000 ↓ 0.0 0

Bitmap Index Scan on ixetgfhchildid (cost=0.00..4.20 rows=6 width=0) (never executed)

  • Index Cond: (ployeetypegroupflathierarchy18.childid = useremployeetypegroup19.employeetypegroupid)
41. 420.077 59,241.560 ↑ 1.0 1 367,960

Nested Loop (cost=223.74..1,273.87 rows=1 width=0) (actual time=0.161..0.161 rows=1 loops=367,960)

42.          

Initplan (for Nested Loop)

43. 0.002 0.062 ↓ 0.0 0 1

Bitmap Heap Scan on e3ec273096164aa4a2a67621ca1e0643.timesheetpolicysettingssnapshot esheetpolicysettingssnapshot37 (cost=14.93..18.96 rows=1 width=0) (actual time=0.061..0.062 rows=0 loops=1)

  • Recheck Cond: ((esheetpolicysettingssnapshot37.timesheetid = '484e44e6-7209-4c91-9351-961796dc98d2'::uuid) AND (upper(esheetpolicysettingssnapshot37.key) = 'URN:REPLICON:POLICY:TIMESHEET:TASK-DATERANGE- (...)
44. 0.002 0.060 ↓ 0.0 0 1

BitmapAnd (cost=14.93..14.93 rows=1 width=0) (actual time=0.059..0.060 rows=0 loops=1)

45. 0.020 0.020 ↑ 1.5 60 1

Bitmap Index Scan on ixtpsstimesheetid (cost=0.00..5.11 rows=91 width=0) (actual time=0.019..0.020 rows=60 loops=1)

  • Index Cond: (esheetpolicysettingssnapshot37.timesheetid = '484e44e6-7209-4c91-9351-961796dc98d2'::uuid)
46. 0.038 0.038 ↓ 0.0 0 1

Bitmap Index Scan on ixtspss2key (cost=0.00..9.57 rows=89 width=0) (actual time=0.038..0.038 rows=0 loops=1)

  • Index Cond: ((upper(esheetpolicysettingssnapshot37.key) = 'URN:REPLICON:POLICY:TIMESHEET:TASK-DATERANGE-ENTRY-OVERRIDE'::text) AND (upper(esheetpolicysettingssnapshot37.uri) = 'URN:REPLICON: (...)
47. 1,389.529 57,769.720 ↑ 1.0 1 367,960

Hash Join (cost=204.37..1,246.46 rows=1 width=4) (actual time=0.154..0.157 rows=1 loops=367,960)

  • Output: taskteammemberassignment21.taskid
  • Inner Unique: true
  • Hash Cond: (projectteammember20.id = taskteammemberassignment21.projectteammemberid)
48. 53,804.268 53,804.471 ↑ 615.0 1 356,321

Index Scan using uix3ptm_projectrole on e3ec273096164aa4a2a67621ca1e0643.projectteammember projectteammember20 (cost=126.21..1,166.69 rows=615 width=16) (actual time=0.116..0.151 rows=1 loops=356,321)

  • Output: projectteammember20.id, projectteammember20.projectid, projectteammember20.userid, projectteammember20.departmentid, projectteammember20.placeholderprojectroleid, projectteammember20.index, (...)
  • Index Cond: (projectteammember20.projectid = p.id)
  • Filter: ((projectteammember20.userid = 376) OR (hashed SubPlan 20) OR (hashed SubPlan 21) OR (hashed SubPlan 22) OR (hashed SubPlan 23) OR (hashed SubPlan 24) OR (hashed SubPlan 25) OR (hashed SubPl (...)
  • Rows Removed by Filter: 384
49.          

SubPlan (for Index Scan)

50. 0.045 0.107 ↑ 1.0 2 1

Nested Loop (cost=0.28..11.75 rows=2 width=4) (actual time=0.023..0.107 rows=2 loops=1)

  • Output: departmentflathierarchy23.parentid
  • Join Filter: (departmentusers24.departmentid = departmentflathierarchy23.childid)
  • Rows Removed by Join Filter: 107
51. 0.016 0.016 ↑ 1.0 1 1

Index Scan using ixduuserid on e3ec273096164aa4a2a67621ca1e0643.departmentusers departmentusers24 (cost=0.28..8.30 rows=1 width=4) (actual time=0.015..0.016 rows=1 loops=1)

  • Output: departmentusers24.departmentid, departmentusers24.userid, departmentusers24.isprimarydepartment
  • Index Cond: (departmentusers24.userid = 376)
52. 0.046 0.046 ↑ 1.0 109 1

Seq Scan on e3ec273096164aa4a2a67621ca1e0643.departmentflathierarchy departmentflathierarchy23 (cost=0.00..2.09 rows=109 width=8) (actual time=0.005..0.046 rows=109 loops=1)

  • Output: departmentflathierarchy23.parentid, departmentflathierarchy23.childid, departmentflathierarchy23.depth
53. 0.036 0.045 ↑ 2.0 1 1

Nested Loop (cost=4.57..16.84 rows=2 width=16) (actual time=0.042..0.045 rows=1 loops=1)

  • Output: locationflathierarchy25.parentid
  • -> Index Only Scan using ix4ul_userlocationstartend on e3ec273096164aa4a2a67621ca1e0643.userlocation userlocation26 (cost=0.28..8.30 rows=1 width=16) (actual time=0.032..0.033 rows=1 loops (...)
  • Output: userlocation26.userid, userlocation26.locationid, userlocation26.startdate, userlocation26.enddate
  • Index Cond: ((userlocation26.userid = 376) AND (userlocation26.startdate <= '2019-09-30'::date) AND (userlocation26.enddate >= '2019-09-22'::date))
  • Heap Fetches: 1
54. 0.004 0.009 ↑ 2.0 1 1

Bitmap Heap Scan on e3ec273096164aa4a2a67621ca1e0643.locationflathierarchy locationflathierarchy25 (cost=4.29..8.52 rows=2 width=32) (actual time=0.007..0.009 rows=1 loops=1)

  • Output: locationflathierarchy25.parentid, locationflathierarchy25.childid, locationflathierarchy25.parentdepth
  • Recheck Cond: (locationflathierarchy25.childid = userlocation26.locationid)
  • Heap Blocks: exact=1
55. 0.005 0.005 ↑ 2.0 1 1

Bitmap Index Scan on ixlfhchildid (cost=0.00..4.29 rows=2 width=0) (actual time=0.004..0.005 rows=1 loops=1)

  • Index Cond: (locationflathierarchy25.childid = userlocation26.locationid)
56. 0.010 0.010 ↓ 0.0 0 1

Nested Loop (cost=4.35..21.96 rows=6 width=16) (actual time=0.010..0.010 rows=0 loops=1)

  • Output: divisionflathierarchy27.parentid
  • -> Index Only Scan using ix4ud_userdivisionstartend on e3ec273096164aa4a2a67621ca1e0643.userdivision userdivision28 (cost=0.15..8.24 rows=1 width=16) (actual time=0.009..0.009 rows=0 loops (...)
  • Output: userdivision28.userid, userdivision28.divisionid, userdivision28.startdate, userdivision28.enddate
  • Index Cond: ((userdivision28.userid = 376) AND (userdivision28.startdate <= '2019-09-30'::date) AND (userdivision28.enddate >= '2019-09-22'::date))
  • Heap Fetches: 0
57. 0.000 0.000 ↓ 0.0 0

Bitmap Heap Scan on e3ec273096164aa4a2a67621ca1e0643.divisionflathierarchy divisionflathierarchy27 (cost=4.20..13.67 rows=6 width=32) (never executed)

  • Output: divisionflathierarchy27.parentid, divisionflathierarchy27.childid, divisionflathierarchy27.parentdepth
  • Recheck Cond: (divisionflathierarchy27.childid = userdivision28.divisionid)
58. 0.000 0.000 ↓ 0.0 0

Bitmap Index Scan on ixdivfhchildid (cost=0.00..4.20 rows=6 width=0) (never executed)

  • Index Cond: (divisionflathierarchy27.childid = userdivision28.divisionid)
59. 0.012 0.012 ↓ 0.0 0 1

Nested Loop (cost=4.35..21.96 rows=6 width=16) (actual time=0.011..0.012 rows=0 loops=1)

  • Output: costcenterflathierarchy29.parentid
  • -> Index Only Scan using ix4ucc_usercostcenterstartend on e3ec273096164aa4a2a67621ca1e0643.usercostcenter usercostcenter30 (cost=0.15..8.24 rows=1 width=16) (actual time=0.010..0.011 rows= (...)
  • Output: usercostcenter30.userid, usercostcenter30.costcenterid, usercostcenter30.startdate, usercostcenter30.enddate
  • Index Cond: ((usercostcenter30.userid = 376) AND (usercostcenter30.startdate <= '2019-09-30'::date) AND (usercostcenter30.enddate >= '2019-09-22'::date))
  • Heap Fetches: 0
60. 0.000 0.000 ↓ 0.0 0

Bitmap Heap Scan on e3ec273096164aa4a2a67621ca1e0643.costcenterflathierarchy costcenterflathierarchy29 (cost=4.20..13.67 rows=6 width=32) (never executed)

  • Output: costcenterflathierarchy29.parentid, costcenterflathierarchy29.childid, costcenterflathierarchy29.parentdepth
  • Recheck Cond: (costcenterflathierarchy29.childid = usercostcenter30.costcenterid)
61. 0.000 0.000 ↓ 0.0 0

Bitmap Index Scan on ixccfhchildid (cost=0.00..4.20 rows=6 width=0) (never executed)

  • Index Cond: (costcenterflathierarchy29.childid = usercostcenter30.costcenterid)
62. 0.010 0.010 ↓ 0.0 0 1

Nested Loop (cost=4.35..21.96 rows=6 width=16) (actual time=0.010..0.010 rows=0 loops=1)

  • Output: servicecenterflathierarchy31.parentid
  • -> Index Only Scan using ix4usc_userservicecenterstartend on e3ec273096164aa4a2a67621ca1e0643.userservicecenter userservicecenter32 (cost=0.15..8.24 rows=1 width=16) (actual time=0.009..0. (...)
  • Output: userservicecenter32.userid, userservicecenter32.servicecenterid, userservicecenter32.startdate, userservicecenter32.enddate
  • Index Cond: ((userservicecenter32.userid = 376) AND (userservicecenter32.startdate <= '2019-09-30'::date) AND (userservicecenter32.enddate >= '2019-09-22'::date))
  • Heap Fetches: 0
63. 0.000 0.000 ↓ 0.0 0

Bitmap Heap Scan on e3ec273096164aa4a2a67621ca1e0643.servicecenterflathierarchy servicecenterflathierarchy31 (cost=4.20..13.67 rows=6 width=32) (never executed)

  • Output: servicecenterflathierarchy31.parentid, servicecenterflathierarchy31.childid, servicecenterflathierarchy31.parentdepth
  • Recheck Cond: (servicecenterflathierarchy31.childid = userservicecenter32.servicecenterid)
64. 0.000 0.000 ↓ 0.0 0

Bitmap Index Scan on ixscfhchildid (cost=0.00..4.20 rows=6 width=0) (never executed)

  • Index Cond: (servicecenterflathierarchy31.childid = userservicecenter32.servicecenterid)
65. 0.010 0.010 ↓ 0.0 0 1

Nested Loop (cost=0.15..9.26 rows=1 width=16) (actual time=0.009..0.010 rows=0 loops=1)

  • Output: departmentgroupflathierarchy33.parentid
  • Join Filter: (userdepartmentgroup34.departmentgroupid = departmentgroupflathierarchy33.childid)
  • -> Index Only Scan using ix4ucc_userdepartmentgroupstartend on e3ec273096164aa4a2a67621ca1e0643.userdepartmentgroup userdepartmentgroup34 (cost=0.15..8.24 rows=1 width=16) (actual time=0.0 (...)
  • Output: userdepartmentgroup34.userid, userdepartmentgroup34.departmentgroupid, userdepartmentgroup34.startdate, userdepartmentgroup34.enddate
  • Index Cond: ((userdepartmentgroup34.userid = 376) AND (userdepartmentgroup34.startdate <= '2019-09-30'::date) AND (userdepartmentgroup34.enddate >= '2019-09-22'::date))
  • Heap Fetches: 0
66. 0.000 0.000 ↓ 0.0 0

Seq Scan on e3ec273096164aa4a2a67621ca1e0643.departmentgroupflathierarchy departmentgroupflathierarchy33 (cost=0.00..1.01 rows=1 width=32) (never executed)

  • Output: departmentgroupflathierarchy33.parentid, departmentgroupflathierarchy33.childid, departmentgroupflathierarchy33.parentdepth
67. 0.009 0.009 ↓ 0.0 0 1

Nested Loop (cost=4.35..21.96 rows=6 width=16) (actual time=0.008..0.009 rows=0 loops=1)

  • Output: ployeetypegroupflathierarchy35.parentid
  • -> Index Only Scan using ix4ucc_useremployeetypegroupstartend on e3ec273096164aa4a2a67621ca1e0643.useremployeetypegroup useremployeetypegroup36 (cost=0.15..8.24 rows=1 width=16) (actual ti (...)
  • Output: useremployeetypegroup36.userid, useremployeetypegroup36.employeetypegroupid, useremployeetypegroup36.startdate, useremployeetypegroup36.enddate
  • Index Cond: ((useremployeetypegroup36.userid = 376) AND (useremployeetypegroup36.startdate <= '2019-09-30'::date) AND (useremployeetypegroup36.enddate >= '2019-09-22'::date))
  • Heap Fetches: 0
68. 0.000 0.000 ↓ 0.0 0

Bitmap Heap Scan on e3ec273096164aa4a2a67621ca1e0643.employeetypegroupflathierarchy ployeetypegroupflathierarchy35 (cost=4.20..13.67 rows=6 width=32) (never executed)

  • Output: ployeetypegroupflathierarchy35.parentid, ployeetypegroupflathierarchy35.childid, ployeetypegroupflathierarchy35.parentdepth
  • Recheck Cond: (ployeetypegroupflathierarchy35.childid = useremployeetypegroup36.employeetypegroupid)
69. 0.000 0.000 ↓ 0.0 0

Bitmap Index Scan on ixetgfhchildid (cost=0.00..4.20 rows=6 width=0) (never executed)

  • Index Cond: (ployeetypegroupflathierarchy35.childid = useremployeetypegroup36.employeetypegroupid)
70. 2,575.720 2,575.720 ↑ 17.0 2 367,960

Hash (cost=77.73..77.73 rows=34 width=20) (actual time=0.007..0.007 rows=2 loops=367,960)

  • Output: taskteammemberassignment21.projectteammemberid, taskteammemberassignment21.taskid
  • Buckets: 1,024 Batches: 1 Memory Usage: 9kB
  • -> Index Only Scan using uix2projectteammembertaskassignment on e3ec273096164aa4a2a67621ca1e0643.taskteammemberassignment taskteammemberassignment21 (cost=0.42..77.73 rows=34 width=20) (actual tim (...)
  • Output: taskteammemberassignment21.projectteammemberid, taskteammemberassignment21.taskid
  • Index Cond: (taskteammemberassignment21.taskid = task.id)
  • Heap Fetches: 861,380
71. 1,051.701 1,051.701 ↑ 1.0 1 350,567

Index Scan using task_pkey on e3ec273096164aa4a2a67621ca1e0643.task task22 (cost=0.42..8.45 rows=1 width=4) (actual time=0.003..0.003 rows=1 loops=350,567)

  • Output: task22.id, task22.projectid, task22.parentid, task22.name, task22.code, task22.description, task22.isclosed, task22.orderindex, task22.percentcomplete, task22.istimeentryallowed, task22.estimatedh (...)
  • Index Cond: (task22.id = task.id)
  • Filter: (task22.istimeentryallowed AND (NOT task22.isclosed) AND ($43 OR ((task22.timeentrystartdate <= '2019-09-30'::date) AND (task22.timeentryenddate >= '2019-09-22'::date))))
  • Rows Removed by Filter: 0
72. 0.005 0.017 ↑ 1.0 1 1

Hash (cost=1.09..1.09 rows=1 width=16) (actual time=0.016..0.017 rows=1 loops=1)

  • Output: projectstatuslabel3.id
  • Buckets: 1,024 Batches: 1 Memory Usage: 9kB
73. 0.012 0.012 ↑ 1.0 1 1

Seq Scan on e3ec273096164aa4a2a67621ca1e0643.projectstatuslabel projectstatuslabel3 (cost=0.00..1.09 rows=1 width=16) (actual time=0.010..0.012 rows=1 loops=1)

  • Output: projectstatuslabel3.id
  • Filter: (projectstatuslabel3.projectstatustype = 1)
  • Rows Removed by Filter: 6
74.          

SubPlan (for Hash Join)

75. 1,175.416 1,175.416 ↑ 1.0 1 587,708

Index Scan using project_pkey on e3ec273096164aa4a2a67621ca1e0643.project project2 (cost=0.28..8.29 rows=1 width=16) (actual time=0.002..0.002 rows=1 loops=587,708)

  • Output: project2.projectstatuslabelid
  • Index Cond: (project2.id = p.id)
76. 1,035.240 2,070.480 ↑ 1.0 2 258,810

Append (cost=0.28..0.59 rows=2 width=8) (actual time=0.003..0.008 rows=2 loops=258,810)

77. 517.620 517.620 ↑ 1.0 1 258,810

Index Only Scan using uix4pc_projectclienteffectiveend on e3ec273096164aa4a2a67621ca1e0643.projectclient (cost=0.28..0.30 rows=1 width=8) (actual time=0.002..0.002 rows=1 loops=258,810)

  • Output: projectclient.projectid, projectclient.clientid
  • Index Cond: (projectclient.projectid = task.projectid)
  • Heap Fetches: 259,030
78. 517.620 517.620 ↑ 1.0 1 258,810

Index Only Scan using project_pkey on e3ec273096164aa4a2a67621ca1e0643.project project_1 (cost=0.28..0.30 rows=1 width=8) (actual time=0.002..0.002 rows=1 loops=258,810)

  • Output: project_1.id, NULL::integer
  • Index Cond: (project_1.id = task.projectid)
  • Heap Fetches: 258,810
79. 0.171 0.339 ↑ 1.0 297 1

Hash (cost=7.97..7.97 rows=297 width=56) (actual time=0.338..0.339 rows=297 loops=1)

  • Output: c.id, c.name, c.slug, c.code
  • Buckets: 1,024 Batches: 1 Memory Usage: 34kB
80. 0.168 0.168 ↑ 1.0 297 1

Seq Scan on e3ec273096164aa4a2a67621ca1e0643.clients c (cost=0.00..7.97 rows=297 width=56) (actual time=0.017..0.168 rows=297 loops=1)

  • Output: c.id, c.name, c.slug, c.code
81.          

SubPlan (for Hash Left Join)

82. 0.000 0.000 ↓ 0.0 0

Index Only Scan using uix4pc_projectclienteffectiveend on e3ec273096164aa4a2a67621ca1e0643.projectclient projectclient1 (cost=0.28..8.30 rows=1 width=0) (never executed)

  • Index Cond: ((projectclient1.projectid = p.id) AND (projectclient1.effectivedate <= '2019-09-30'::date) AND (projectclient1.enddate >= '2019-09-22'::date))
  • Heap Fetches: 0
83. 0.853 0.853 ↑ 1.0 1,716 1

Seq Scan on e3ec273096164aa4a2a67621ca1e0643.projectclient projectclient1_1 (cost=0.00..40.74 rows=1,716 width=4) (actual time=0.006..0.853 rows=1,716 loops=1)

  • Output: projectclient1_1.projectid
  • Filter: ((projectclient1_1.effectivedate <= '2019-09-30'::date) AND (projectclient1_1.enddate >= '2019-09-22'::date))
84. 486.402 486.402 ↑ 1.0 1 243,201

Index Only Scan using uix4pc_projectclienteffectiveend on e3ec273096164aa4a2a67621ca1e0643.projectclient projectclient1_2 (cost=0.28..8.30 rows=1 width=4) (actual time=0.002..0.002 rows=1 loops=243,201)

  • Output: projectclient1_2.clientid
  • Index Cond: ((projectclient1_2.projectid = p.id) AND (projectclient1_2.effectivedate <= '2019-09-30'::date) AND (projectclient1_2.enddate >= '2019-09-22'::date))
  • Heap Fetches: 243,525
Planning time : 14.158 ms
Execution time : 67,976.290 ms