explain.depesz.com

PostgreSQL's explain analyze made readable

Result: yHSY

Settings
# exclusive inclusive rows x rows loops node
1. 1,105.837 59,313.112 ↑ 4.8 170,619 1

Sort (cost=3,876,009.18..3,878,061.49 rows=820,925 width=2,623) (actual time=59,288.298..59,313.112 rows=170,619 loops=1)

  • Output: ((ui.lastname)::character varying(50)), ((ui.firstname)::character varying(50)), ui.duplicatename, ((login.loginname)::character varying(255)), ((ui.displayname)::text), ui.id, ts.startdate, ts.enddate, ((pj.name)::character varying(255)), pj.id, ((timeoffcode4.name)::character varying(255)), ((tk.name)::character varying(255)), tk.id, "*SELECT* 1".entrydate, "*SELECT* 1".timeoffduration, "*SELECT* 1".timeoffentryid, "*SELECT* 1".duration, objectextensionfieldvalue7.numericvalue, "*SELECT* 1".timeentryid, tslist.timesheetstatus, ts.id, ((esheetapprovalhistorykeyvalue8.uri)::text), ((esheetapprovalhistorykeyvalue9.uri)::text), tah.action, ((objectextensiontag11.name)::character varying(50)), "*SELECT* 1".userid
  • 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", ts.startdate, ts.enddate, ((pj.name)::character varying(255)) COLLATE "en_US", ((timeoffcode4.name)::character varying(255)) COLLATE "en_US", ((tk.name)::character varying(255)) COLLATE "en_US", "*SELECT* 1".entrydate, tslist.timesheetstatus, ((objectextensiontag11.name)::character varying(50)) COLLATE "en_US
  • Sort Method: quicksort Memory: 91,369kB
  • Buffers: shared hit=8,529,488
2.          

Initplan (for Sort)

3. 0.004 0.004 ↑ 1.0 1 1

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

  • Output: systeminformation.basecurrencyid
  • Buffers: shared hit=1
4. 48.900 58,207.271 ↑ 4.8 170,619 1

Hash Left Join (cost=2,730,766.61..3,264,649.05 rows=820,925 width=2,623) (actual time=57,600.582..58,207.271 rows=170,619 loops=1)

  • Output: ui.lastname, ui.firstname, ui.duplicatename, login.loginname, ui.displayname, ui.id, ts.startdate, ts.enddate, pj.name, pj.id, timeoffcode4.name, tk.name, tk.id, "*SELECT* 1".entrydate, "*SELECT* 1".timeoffduration, "*SELECT* 1".timeoffentryid, "*SELECT* 1".duration, objectextensionfieldvalue7.numericvalue, "*SELECT* 1".timeentryid, tslist.timesheetstatus, ts.id, esheetapprovalhistorykeyvalue8.uri, esheetapprovalhistorykeyvalue9.uri, tah.action, objectextensiontag11.name, "*SELECT* 1".userid
  • Inner Unique: true
  • Hash Cond: (objectextensionfieldvalue17.tagid = objectextensiontag11.id)
  • Buffers: shared hit=8,529,488
5. 165.070 58,158.246 ↑ 4.8 170,619 1

Hash Right Join (cost=2,730,752.27..3,262,456.09 rows=820,925 width=380) (actual time=57,600.436..58,158.246 rows=170,619 loops=1)

  • Output: "*SELECT* 1".entrydate, "*SELECT* 1".timeoffduration, "*SELECT* 1".timeoffentryid, "*SELECT* 1".duration, "*SELECT* 1".timeentryid, "*SELECT* 1".userid, pj.name, pj.id, ts.startdate, ts.enddate, ts.id, tslist.timesheetstatus, ui.lastname, ui.firstname, ui.duplicatename, ui.displayname, ui.id, login.loginname, timeoffcode4.name, tk.name, tk.id, tah.action, objectextensionfieldvalue7.numericvalue, esheetapprovalhistorykeyvalue8.uri, esheetapprovalhistorykeyvalue9.uri, objectextensionfieldvalue17.tagid
  • Hash Cond: (tah.timesheetid = ts.id)
  • Buffers: shared hit=8,529,481
6. 0.000 11,538.784 ↓ 2.0 272,714 1

Gather (cost=8,540.88..535,107.35 rows=138,755 width=166) (actual time=66.774..11,538.784 rows=272,714 loops=1)

  • Output: tah.action, tah.timesheetid, esheetapprovalhistorykeyvalue8.uri, esheetapprovalhistorykeyvalue9.uri
  • Workers Planned: 2
  • Workers Launched: 2
  • Buffers: shared hit=4,031,072
7. 111.427 11,557.959 ↓ 1.6 90,905 3 / 3

Nested Loop Left Join (cost=7,540.88..520,231.85 rows=57,815 width=166) (actual time=66.826..11,557.959 rows=90,905 loops=3)

  • Output: tah.action, tah.timesheetid, esheetapprovalhistorykeyvalue8.uri, esheetapprovalhistorykeyvalue9.uri
  • Buffers: shared hit=4,031,072
  • Worker 0: actual time=63.856..11469.291 rows=90,326 loops=1
  • Buffers: shared hit=1,336,543
  • Worker 1: actual time=71.132..11753.750 rows=92,619 loops=1
  • Buffers: shared hit=1,368,785
8. 72.899 6,083.157 ↓ 1.6 90,905 3 / 3

Nested Loop Left Join (cost=7,540.31..276,055.89 rows=57,815 width=109) (actual time=66.756..6,083.157 rows=90,905 loops=3)

  • Output: tah.action, tah.timesheetid, tah.id, esheetapprovalhistorykeyvalue8.uri
  • Buffers: shared hit=2,026,899
  • Worker 0: actual time=63.792..6034.681 rows=90,326 loops=1
  • Buffers: shared hit=672,160
  • Worker 1: actual time=71.069..6179.110 rows=92,619 loops=1
  • Buffers: shared hit=688,074
9. 60.032 192.359 ↓ 1.6 90,905 3 / 3

Hash Left Join (cost=7,539.75..32,458.09 rows=57,815 width=36) (actual time=66.607..192.359 rows=90,905 loops=3)

  • Output: tah.action, tah.timesheetid, tah.id
  • Inner Unique: true
  • Hash Cond: (tah.timesheetid = tahls.timesheetid)
  • Filter: ((tahls.timesheetid IS NULL) OR (tah.serialnumber > tahls.lastsubmitserialnumber))
  • Rows Removed by Filter: 8,351
  • Buffers: shared hit=22,724
  • Worker 0: actual time=63.625..191.191 rows=90,326 loops=1
  • Buffers: shared hit=7,776
  • Worker 1: actual time=70.909..196.416 rows=92,619 loops=1
  • Buffers: shared hit=7,362
10. 66.641 66.641 ↑ 1.7 99,255 3 / 3

Parallel Seq Scan on ec59310f04eb4b13a07d9dd6e7e07b8c.timesheetapprovalhistory tah (cost=0.00..24,463.03 rows=173,444 width=40) (actual time=0.012..66.641 rows=99,255 loops=3)

  • Output: tah.id, tah.serialnumber, tah.timesheetid, tah.action, tah.approvalcomments, tah.timestamputc, tah.approvalagenttype, tah.userid, tah.systemprocessidentifier
  • Filter: (((tah.systemprocessidentifier IS NULL) OR (tah.systemprocessidentifier <> 'urn:replicon:approval-system-process:timesheet-submit-script-data-and-validation'::text)) AND (tah.action = ANY ('{2,3,6}'::integer[])))
  • Rows Removed by Filter: 233,128
  • Buffers: shared hit=17,590
  • Worker 0: actual time=0.008..68.478 rows=98,456 loops=1
  • Buffers: shared hit=6,054
  • Worker 1: actual time=0.009..65.219 rows=101,205 loops=1
  • Buffers: shared hit=5,640
11. 40.395 65.686 ↑ 1.0 259,887 3 / 3

Hash (cost=4,289.89..4,289.89 rows=259,989 width=20) (actual time=65.686..65.686 rows=259,887 loops=3)

  • Output: tahls.timesheetid, tahls.lastsubmitserialnumber
  • Buckets: 262,144 Batches: 1 Memory Usage: 15,246kB
  • Buffers: shared hit=5,070
  • Worker 0: actual time=62.703..62.703 rows=259,887 loops=1
  • Buffers: shared hit=1,690
  • Worker 1: actual time=69.978..69.978 rows=259,887 loops=1
  • Buffers: shared hit=1,690
12. 25.291 25.291 ↑ 1.0 259,887 3 / 3

Seq Scan on ec59310f04eb4b13a07d9dd6e7e07b8c.timesheetapprovalhistorylastsubmit tahls (cost=0.00..4,289.89 rows=259,989 width=20) (actual time=0.020..25.291 rows=259,887 loops=3)

  • Output: tahls.timesheetid, tahls.lastsubmitserialnumber
  • Buffers: shared hit=5,070
  • Worker 0: actual time=0.023..24.428 rows=259,887 loops=1
  • Buffers: shared hit=1,690
  • Worker 1: actual time=0.026..27.280 rows=259,887 loops=1
  • Buffers: shared hit=1,690
13. 5,817.899 5,817.899 ↑ 2.0 1 272,714 / 3

Index Scan using ixtahkvtimesheetapprovalhistoryid on ec59310f04eb4b13a07d9dd6e7e07b8c.timesheetapprovalhistorykeyvalue esheetapprovalhistorykeyvalue8 (cost=0.56..4.19 rows=2 width=89) (actual time=0.063..0.064 rows=1 loops=272,714)

  • Output: esheetapprovalhistorykeyvalue8.id, esheetapprovalhistorykeyvalue8.timesheetapprovalhistoryid, esheetapprovalhistorykeyvalue8.parentid, esheetapprovalhistorykeyvalue8.index, esheetapprovalhistorykeyvalue8.key, esheetapprovalhistorykeyvalue8.uri, esheetapprovalhistorykeyvalue8.slug, esheetapprovalhistorykeyvalue8."boolean", esheetapprovalhistorykeyvalue8.date, esheetapprovalhistorykeyvalue8.number, esheetapprovalhistorykeyvalue8.text, esheetapprovalhistorykeyvalue8."time", esheetapprovalhistorykeyvalue8.timespan, esheetapprovalhistorykeyvalue8.daterange_startdate, esheetapprovalhistorykeyvalue8.daterange_enddate, esheetapprovalhistorykeyvalue8.daterange_relativedaterangeuri, esheetapprovalhistorykeyvalue8.daterange_relativedaterangeasofdate, esheetapprovalhistorykeyvalue8.workdayduration_decimalworkdays, esheetapprovalhistorykeyvalue8.workdayduration_workdays, esheetapprovalhistorykeyvalue8.workdayduration_hours, esheetapprovalhistorykeyvalue8.workdayduration_minutes
  • Index Cond: (tah.id = esheetapprovalhistorykeyvalue8.timesheetapprovalhistoryid)
  • Filter: (upper(esheetapprovalhistorykeyvalue8.key) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:ACTING-ACTUAL-USER'::text)
  • Rows Removed by Filter: 53
  • Buffers: shared hit=2,004,175
  • Worker 0: actual time=0.063..0.064 rows=1 loops=90,326
  • Buffers: shared hit=664,384
  • Worker 1: actual time=0.063..0.064 rows=1 loops=92,619
  • Buffers: shared hit=680,712
14. 5,363.375 5,363.375 ↑ 3.0 1 272,714 / 3

Index Scan using ixtahkvtimesheetapprovalhistoryid on ec59310f04eb4b13a07d9dd6e7e07b8c.timesheetapprovalhistorykeyvalue esheetapprovalhistorykeyvalue9 (cost=0.56..4.19 rows=3 width=89) (actual time=0.059..0.059 rows=1 loops=272,714)

  • Output: esheetapprovalhistorykeyvalue9.id, esheetapprovalhistorykeyvalue9.timesheetapprovalhistoryid, esheetapprovalhistorykeyvalue9.parentid, esheetapprovalhistorykeyvalue9.index, esheetapprovalhistorykeyvalue9.key, esheetapprovalhistorykeyvalue9.uri, esheetapprovalhistorykeyvalue9.slug, esheetapprovalhistorykeyvalue9."boolean", esheetapprovalhistorykeyvalue9.date, esheetapprovalhistorykeyvalue9.number, esheetapprovalhistorykeyvalue9.text, esheetapprovalhistorykeyvalue9."time", esheetapprovalhistorykeyvalue9.timespan, esheetapprovalhistorykeyvalue9.daterange_startdate, esheetapprovalhistorykeyvalue9.daterange_enddate, esheetapprovalhistorykeyvalue9.daterange_relativedaterangeuri, esheetapprovalhistorykeyvalue9.daterange_relativedaterangeasofdate, esheetapprovalhistorykeyvalue9.workdayduration_decimalworkdays, esheetapprovalhistorykeyvalue9.workdayduration_workdays, esheetapprovalhistorykeyvalue9.workdayduration_hours, esheetapprovalhistorykeyvalue9.workdayduration_minutes
  • Index Cond: (tah.id = esheetapprovalhistorykeyvalue9.timesheetapprovalhistoryid)
  • Filter: (upper(esheetapprovalhistorykeyvalue9.key) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:ACTING-EFFECTIVE-USER'::text)
  • Rows Removed by Filter: 53
  • Buffers: shared hit=2,004,173
  • Worker 0: actual time=0.059..0.059 rows=1 loops=90,326
  • Buffers: shared hit=664,383
  • Worker 1: actual time=0.059..0.059 rows=1 loops=92,619
  • Buffers: shared hit=680,711
15. 110.723 46,454.392 ↑ 4.8 170,170 1

Hash (cost=2,711,949.83..2,711,949.83 rows=820,925 width=230) (actual time=46,454.392..46,454.392 rows=170,170 loops=1)

  • Output: "*SELECT* 1".entrydate, "*SELECT* 1".timeoffduration, "*SELECT* 1".timeoffentryid, "*SELECT* 1".duration, "*SELECT* 1".timeentryid, "*SELECT* 1".userid, pj.name, pj.id, ts.startdate, ts.enddate, ts.id, tslist.timesheetstatus, ui.lastname, ui.firstname, ui.duplicatename, ui.displayname, ui.id, login.loginname, timeoffcode4.name, tk.name, tk.id, objectextensionfieldvalue7.numericvalue, objectextensionfieldvalue17.tagid
  • Buckets: 1,048,576 Batches: 1 Memory Usage: 46,751kB
  • Buffers: shared hit=4,498,409
16. 550.865 46,343.669 ↑ 4.8 170,170 1

Merge Left Join (cost=2,328,604.99..2,711,949.83 rows=820,925 width=230) (actual time=37,322.515..46,343.669 rows=170,170 loops=1)

  • Output: "*SELECT* 1".entrydate, "*SELECT* 1".timeoffduration, "*SELECT* 1".timeoffentryid, "*SELECT* 1".duration, "*SELECT* 1".timeentryid, "*SELECT* 1".userid, pj.name, pj.id, ts.startdate, ts.enddate, ts.id, tslist.timesheetstatus, ui.lastname, ui.firstname, ui.duplicatename, ui.displayname, ui.id, login.loginname, timeoffcode4.name, tk.name, tk.id, objectextensionfieldvalue7.numericvalue, objectextensionfieldvalue17.tagid
  • Merge Cond: ("*SELECT* 1".timeentryid = objectextensionfieldvalue17.objectid)
  • Buffers: shared hit=4,498,409
17. 174.182 37,724.419 ↑ 3.4 170,170 1

Merge Left Join (cost=2,328,604.56..2,336,175.99 rows=578,331 width=214) (actual time=37,322.330..37,724.419 rows=170,170 loops=1)

  • Output: "*SELECT* 1".entrydate, "*SELECT* 1".timeoffduration, "*SELECT* 1".timeoffentryid, "*SELECT* 1".duration, "*SELECT* 1".timeentryid, "*SELECT* 1".userid, pj.name, pj.id, ts.startdate, ts.enddate, ts.id, tslist.timesheetstatus, ui.lastname, ui.firstname, ui.duplicatename, ui.displayname, ui.id, login.loginname, timeoffcode4.name, tk.name, tk.id, objectextensionfieldvalue7.numericvalue
  • Merge Cond: ("*SELECT* 1".timeentryid = objectextensionfieldvalue7.objectid)
  • Buffers: shared hit=4,441,272
18. 206.706 36,099.482 ↑ 3.4 170,170 1

Sort (cost=2,008,045.06..2,009,490.89 rows=578,331 width=210) (actual time=36,053.662..36,099.482 rows=170,170 loops=1)

  • Output: "*SELECT* 1".entrydate, "*SELECT* 1".timeoffduration, "*SELECT* 1".timeoffentryid, "*SELECT* 1".duration, "*SELECT* 1".timeentryid, "*SELECT* 1".userid, pj.name, pj.id, ts.startdate, ts.enddate, ts.id, tslist.timesheetstatus, ui.lastname, ui.firstname, ui.duplicatename, ui.displayname, ui.id, login.loginname, timeoffcode4.name, tk.name, tk.id
  • Sort Key: "*SELECT* 1".timeentryid
  • Sort Method: quicksort Memory: 51,566kB
  • Buffers: shared hit=4,321,992
19. 49.184 35,892.776 ↑ 3.4 170,170 1

Hash Left Join (cost=276,565.39..1,952,694.34 rows=578,331 width=210) (actual time=2,373.410..35,892.776 rows=170,170 loops=1)

  • Output: "*SELECT* 1".entrydate, "*SELECT* 1".timeoffduration, "*SELECT* 1".timeoffentryid, "*SELECT* 1".duration, "*SELECT* 1".timeentryid, "*SELECT* 1".userid, pj.name, pj.id, ts.startdate, ts.enddate, ts.id, tslist.timesheetstatus, ui.lastname, ui.firstname, ui.duplicatename, ui.displayname, ui.id, login.loginname, timeoffcode4.name, tk.name, tk.id
  • Hash Cond: (tk.estimatedcostcurrencyid = exchangerate.fixedcurrencyid)
  • Buffers: shared hit=4,321,992
20. 136.649 35,843.568 ↑ 3.4 170,170 1

Hash Left Join (cost=276,564.35..1,950,524.49 rows=578,331 width=214) (actual time=2,373.370..35,843.568 rows=170,170 loops=1)

  • Output: "*SELECT* 1".entrydate, "*SELECT* 1".timeoffduration, "*SELECT* 1".timeoffentryid, "*SELECT* 1".duration, "*SELECT* 1".timeentryid, "*SELECT* 1".userid, pj.name, pj.id, ts.startdate, ts.enddate, ts.id, tslist.timesheetstatus, ui.lastname, ui.firstname, ui.duplicatename, ui.displayname, ui.id, login.loginname, timeoffcode4.name, tk.name, tk.id, tk.estimatedcostcurrencyid
  • Inner Unique: true
  • Hash Cond: (task15.id = tk.id)
  • Buffers: shared hit=4,321,990
21. 45.457 35,203.474 ↑ 3.4 170,170 1

Hash Left Join (cost=208,044.48..1,880,486.49 rows=578,331 width=190) (actual time=1,866.520..35,203.474 rows=170,170 loops=1)

  • Output: "*SELECT* 1".entrydate, "*SELECT* 1".timeoffduration, "*SELECT* 1".timeoffentryid, "*SELECT* 1".duration, "*SELECT* 1".timeentryid, "*SELECT* 1".userid, task15.id, pj.name, pj.id, ts.startdate, ts.enddate, ts.id, tslist.timesheetstatus, ui.lastname, ui.firstname, ui.duplicatename, ui.displayname, ui.id, login.loginname, timeoffcode4.name
  • Inner Unique: true
  • Hash Cond: ("*SELECT* 1".timeoffcodeid = timeoffcode4.id)
  • Buffers: shared hit=4,276,559
22. 70.169 35,157.999 ↑ 3.4 170,170 1

Hash Join (cost=208,043.07..1,878,934.80 rows=578,331 width=179) (actual time=1,866.475..35,157.999 rows=170,170 loops=1)

  • Output: "*SELECT* 1".entrydate, "*SELECT* 1".timeoffduration, "*SELECT* 1".timeoffentryid, "*SELECT* 1".duration, "*SELECT* 1".timeentryid, "*SELECT* 1".userid, "*SELECT* 1".timeoffcodeid, task15.id, pj.name, pj.id, ts.startdate, ts.enddate, ts.id, tslist.timesheetstatus, ui.lastname, ui.firstname, ui.duplicatename, ui.displayname, ui.id, login.loginname
  • Inner Unique: true
  • Hash Cond: ("*SELECT* 1".userid = login.userid)
  • Buffers: shared hit=4,276,558
23. 72.490 35,086.132 ↑ 3.4 170,170 1

Hash Join (cost=207,787.63..1,877,160.20 rows=578,331 width=176) (actual time=1,864.741..35,086.132 rows=170,170 loops=1)

  • Output: "*SELECT* 1".entrydate, "*SELECT* 1".timeoffduration, "*SELECT* 1".timeoffentryid, "*SELECT* 1".duration, "*SELECT* 1".timeentryid, "*SELECT* 1".userid, "*SELECT* 1".timeoffcodeid, task15.id, pj.name, pj.id, ts.startdate, ts.enddate, ts.id, ts.userid, tslist.timesheetstatus, ui.lastname, ui.firstname, ui.duplicatename, ui.displayname, ui.id
  • Inner Unique: true
  • Hash Cond: ("*SELECT* 1".userid = ui.id)
  • Buffers: shared hit=4,276,443
24. 59.106 35,009.966 ↑ 3.4 170,170 1

Nested Loop Left Join (cost=207,454.18..1,875,307.60 rows=578,331 width=144) (actual time=1,861.029..35,009.966 rows=170,170 loops=1)

  • Output: "*SELECT* 1".entrydate, "*SELECT* 1".timeoffduration, "*SELECT* 1".timeoffentryid, "*SELECT* 1".duration, "*SELECT* 1".timeentryid, "*SELECT* 1".userid, "*SELECT* 1".timeoffcodeid, task15.id, pj.name, pj.id, ts.startdate, ts.enddate, ts.id, ts.userid, tslist.timesheetstatus
  • Join Filter: ("*SELECT* 1".timeentryid = timeentrymetadata16.timeentryid)
  • Filter: (timeentrymetadata16.uri IS NULL)
  • Buffers: shared hit=4,276,250
25. 89.037 34,100.010 ↑ 6.0 170,170 1

Hash Join (cost=207,453.62..1,418,456.13 rows=1,026,099 width=144) (actual time=1,026.337..34,100.010 rows=170,170 loops=1)

  • Output: "*SELECT* 1".entrydate, "*SELECT* 1".timeoffduration, "*SELECT* 1".timeoffentryid, "*SELECT* 1".duration, "*SELECT* 1".timeentryid, "*SELECT* 1".userid, "*SELECT* 1".timeoffcodeid, task15.id, pj.name, pj.id, ts.startdate, ts.enddate, ts.id, ts.userid, tslist.timesheetstatus
  • Inner Unique: true
  • Hash Cond: (ts.id = tslist.timesheetid)
  • Buffers: shared hit=3,983,244
26. 182.844 33,852.129 ↑ 6.2 170,404 1

Nested Loop (cost=154,671.05..1,362,908.94 rows=1,053,171 width=140) (actual time=866.624..33,852.129 rows=170,404 loops=1)

  • Output: "*SELECT* 1".entrydate, "*SELECT* 1".timeoffduration, "*SELECT* 1".timeoffentryid, "*SELECT* 1".duration, "*SELECT* 1".timeentryid, "*SELECT* 1".userid, "*SELECT* 1".timeoffcodeid, task15.id, pj.name, pj.id, ts.startdate, ts.enddate, ts.id, ts.userid
  • Buffers: shared hit=3,937,354
27. 133.970 32,987.669 ↑ 1.3 170,404 1

Hash Left Join (cost=154,670.62..1,201,481.34 rows=221,974 width=112) (actual time=866.594..32,987.669 rows=170,404 loops=1)

  • Output: "*SELECT* 1".entrydate, "*SELECT* 1".timeoffduration, "*SELECT* 1".timeoffentryid, "*SELECT* 1".duration, "*SELECT* 1".timeentryid, "*SELECT* 1".userid, "*SELECT* 1".timeoffcodeid, task15.id, pj.name, pj.id
  • Inner Unique: true
  • Hash Cond: (COALESCE(project13.id, task15.projectid) = pj.id)
  • Buffers: shared hit=3,136,459
28. 28,269.633 32,606.415 ↑ 1.3 170,404 1

Hash Left Join (cost=97,759.68..1,143,987.72 rows=221,974 width=76) (actual time=617.579..32,606.415 rows=170,404 loops=1)

  • Output: "*SELECT* 1".entrydate, "*SELECT* 1".timeoffduration, "*SELECT* 1".timeoffentryid, "*SELECT* 1".duration, "*SELECT* 1".timeentryid, "*SELECT* 1".userid, "*SELECT* 1".timeoffcodeid, project13.id, task15.id, task15.projectid
  • Inner Unique: true
  • Hash Cond: (CASE WHEN ("substring"(timeentrymetadata14.uri, '^urn:replicon-tenant:ec59310f04eb4b13a07d9dd6e7e07b8c:task:(.*)$'::text) ~ '^\s*[-]?[0-9]+\s*$'::text) THEN ("substring"(timeentrymetadata14.uri, '^urn:replicon-tenant:ec59310f04eb4b13a07d9dd6e7e07b8c:task:(.*)$'::text))::integer ELSE NULL::integer END = task15.id)
  • Buffers: shared hit=3,090,986
29. 71.009 3,954.406 ↑ 1.3 170,404 1

Nested Loop Left Join (cost=29,239.81..1,074,746.43 rows=221,974 width=131) (actual time=231.566..3,954.406 rows=170,404 loops=1)

  • Output: "*SELECT* 1".entrydate, "*SELECT* 1".timeoffduration, "*SELECT* 1".timeoffentryid, "*SELECT* 1".duration, "*SELECT* 1".timeentryid, "*SELECT* 1".userid, "*SELECT* 1".timeoffcodeid, project13.id, timeentrymetadata14.uri
  • Buffers: shared hit=3,045,555
30. 1,057.664 3,201.781 ↓ 1.2 170,404 1

Hash Left Join (cost=29,239.25..656,951.26 rows=146,722 width=68) (actual time=231.543..3,201.781 rows=170,404 loops=1)

  • Output: "*SELECT* 1".entrydate, "*SELECT* 1".timeoffduration, "*SELECT* 1".timeoffentryid, "*SELECT* 1".duration, "*SELECT* 1".timeentryid, "*SELECT* 1".userid, "*SELECT* 1".timeoffcodeid, project13.id
  • Inner Unique: true
  • Hash Cond: (CASE WHEN ("substring"(timeentrymetadata12.uri, '^urn:replicon-tenant:ec59310f04eb4b13a07d9dd6e7e07b8c:project:(.*)$'::text) ~ '^\s*[-]?[0-9]+\s*$'::text) THEN ("substring"(timeentrymetadata12.uri, '^urn:replicon-tenant:ec59310f04eb4b13a07d9dd6e7e07b8c:project:(.*)$'::text))::integer ELSE NULL::integer END = project13.id)
  • Buffers: shared hit=2,191,580
31. 66.699 1,915.670 ↓ 1.2 170,404 1

Nested Loop Left Join (cost=1,002.12..628,237.28 rows=146,722 width=127) (actual time=1.334..1,915.670 rows=170,404 loops=1)

  • Output: "*SELECT* 1".entrydate, "*SELECT* 1".timeoffduration, "*SELECT* 1".timeoffentryid, "*SELECT* 1".duration, "*SELECT* 1".timeentryid, "*SELECT* 1".userid, "*SELECT* 1".timeoffcodeid, timeentrymetadata12.uri
  • Buffers: shared hit=2,079,254
32. 24.446 656.143 ↓ 1.2 170,404 1

Append (cost=1,001.56..301,601.50 rows=146,722 width=64) (actual time=1.323..656.143 rows=170,404 loops=1)

  • Buffers: shared hit=1,391,647
33. 29.404 631.680 ↓ 1.2 170,404 1

Subquery Scan on *SELECT* 1 (cost=1,001.56..301,597.02 rows=146,721 width=64) (actual time=1.323..631.680 rows=170,404 loops=1)

  • Output: "*SELECT* 1".entrydate, "*SELECT* 1".timeoffduration, "*SELECT* 1".timeoffentryid, "*SELECT* 1".duration, "*SELECT* 1".timeentryid, "*SELECT* 1".userid, "*SELECT* 1".timeoffcodeid
  • Buffers: shared hit=1,391,644
34. 50.396 602.276 ↓ 1.2 170,404 1

Nested Loop (cost=1,001.56..300,129.81 rows=146,721 width=140) (actual time=1.322..602.276 rows=170,404 loops=1)

  • Output: te.id, NULL::integer, te.userid, te.entrydate, NULL::time without time zone, NULL::time without time zone, CASE WHEN (te.hours IS NOT NULL) THEN te.hours WHEN ((te.intime IS NULL) OR (te.outtime IS NULL)) THEN NULL::interval WHEN ((te.outtime - te.intime) >= '00:00:00'::interval) THEN (te.outtime - te.intime) ELSE (('24:00:00'::interval + (te.outtime)::interval) - (te.intime)::interval) END, NULL::uuid, NULL::integer, NULL::interval, NULL::integer, NULL::interval, NULL::interval, NULL::integer, NULL::integer
  • Buffers: shared hit=1,391,644
35. 0.004 0.004 ↑ 1.0 1 1

Seq Scan on ec59310f04eb4b13a07d9dd6e7e07b8c.projectsysteminformation psi (cost=0.00..1.01 rows=1 width=0) (actual time=0.004..0.004 rows=1 loops=1)

  • Output: psi.usercustombillingrateid, psi.projectcustombillingrateid, psi.defaultprojectstatuslabelid, psi.defaultinvoicecompanyaddressid, psi.defaultinvoicetemplateid, psi.defaultbillingratesfornewclients, psi.billingprocesstype, psi.projectworkflowmode, psi.resourcingdatasource, psi.projectnameunique, psi.projectcoderequiredandunique, psi.clientnameunique, psi.clientcoderequiredandunique
  • Buffers: shared hit=1
36. 33.777 551.876 ↓ 1.2 170,404 1

Nested Loop (cost=1,001.56..296,093.97 rows=146,721 width=56) (actual time=1.314..551.876 rows=170,404 loops=1)

  • Output: te.id, te.userid, te.entrydate, te.hours, te.intime, te.outtime
  • Buffers: shared hit=1,391,643
37. 0.006 0.006 ↑ 1.0 1 1

Seq Scan on ec59310f04eb4b13a07d9dd6e7e07b8c.systeminformation si (cost=0.00..1.01 rows=1 width=0) (actual time=0.004..0.006 rows=1 loops=1)

  • Output: si.rootuserid, si.basecurrencyid, si.basecurrencysymbol, si.defaulttimesheetapprovalpathid, si.defaultexpenseapprovalpathid, si.defaulttimeoffapprovalpathid, si.defaultlanguageid, si.defaultholidaycalendarid, si.buildnumber, si.isreleaseversion, si.systemguid, si.systemtimezoneid, si.newuserdefaulttimezoneid, si.databaseguid, si.uncategorizedskillcategoryid, si.defaultofficescheduleid, si.customlogouri, si.databaseupdatescriptstage, si.tenantslug, si.defaulttimesheetperiodid, si.defaulttimeentryapprovalpathid
  • Buffers: shared hit=1
38. 0.000 518.093 ↓ 1.2 170,404 1

Gather (cost=1,001.56..294,625.75 rows=146,721 width=56) (actual time=1.309..518.093 rows=170,404 loops=1)

  • Output: te.id, te.userid, te.entrydate, te.hours, te.intime, te.outtime
  • Workers Planned: 2
  • Workers Launched: 2
  • Buffers: shared hit=1,391,642
39. 52.679 694.201 ↑ 1.1 56,801 3 / 3

Nested Loop Left Join (cost=1.56..278,953.65 rows=61,134 width=56) (actual time=0.071..694.201 rows=56,801 loops=3)

  • Output: te.id, te.userid, te.entrydate, te.hours, te.intime, te.outtime
  • Buffers: shared hit=1,391,642
  • Worker 0: actual time=0.072..2066.854 rows=168,977 loops=1
  • Buffers: shared hit=1,380,122
  • Worker 1: actual time=0.076..12.813 rows=1,172 loops=1
  • Buffers: shared hit=9,451
40. 10.882 471.118 ↑ 1.1 56,801 3 / 3

Nested Loop Left Join (cost=0.99..142,855.67 rows=61,134 width=56) (actual time=0.063..471.118 rows=56,801 loops=3)

  • Output: te.id, te.userid, te.entrydate, te.hours, te.intime, te.outtime
  • Buffers: shared hit=709,791
  • Worker 0: actual time=0.064..1402.814 rows=168,977 loops=1
  • Buffers: shared hit=703,980
  • Worker 1: actual time=0.068..8.545 rows=1,172 loops=1
  • Buffers: shared hit=4,762
41. 62.627 62.627 ↑ 1.1 56,801 3 / 3

Parallel Index Scan using ixte2entrydate on ec59310f04eb4b13a07d9dd6e7e07b8c.timeentry te (cost=0.43..6,757.54 rows=61,134 width=56) (actual time=0.040..62.627 rows=56,801 loops=3)

  • Output: te.id, te.userid, te.entrydate, te.timeallocationtype, te.hours, te.intime, te.outtime, te.approvalstatus
  • Index Cond: ((te.entrydate >= '2020-10-04'::date) AND (te.entrydate <= '2020-10-10'::date))
  • Filter: (((te.timeallocationtype <> 2) OR (te.timeallocationtype IS NULL)) AND ((te.timeallocationtype = 1) OR (te.timeallocationtype IS NULL)))
  • Rows Removed by Filter: 1,018
  • Buffers: shared hit=17,045
  • Worker 0: actual time=0.041..186.479 rows=168,977 loops=1
  • Buffers: shared hit=16,962
  • Worker 1: actual time=0.042..1.112 rows=1,172 loops=1
  • Buffers: shared hit=61
42. 397.609 397.609 ↓ 0.0 0 170,404 / 3

Index Scan using ixtem2timeentryid on ec59310f04eb4b13a07d9dd6e7e07b8c.timeentrymetadata tembillingrate (cost=0.56..2.22 rows=1 width=16) (actual time=0.007..0.007 rows=0 loops=170,404)

  • Output: tembillingrate.id, tembillingrate.timeentryid, tembillingrate.parentid, tembillingrate.index, tembillingrate.key, tembillingrate.uri, tembillingrate.slug, tembillingrate."boolean", tembillingrate.date, tembillingrate.number, tembillingrate.text, tembillingrate."time", tembillingrate.timespan, tembillingrate.daterange_startdate, tembillingrate.daterange_enddate, tembillingrate.daterange_relativedaterangeuri, tembillingrate.daterange_relativedaterangeasofdate, tembillingrate.workdayduration_decimalworkdays, tembillingrate.workdayduration_workdays, tembillingrate.workdayduration_hours, tembillingrate.workdayduration_minutes
  • Index Cond: ((tembillingrate.timeentryid = te.id) AND (upper(tembillingrate.key) = 'URN:REPLICON:TIME-ENTRY-METADATA-KEY:BILLING-RATE'::text))
  • Buffers: shared hit=692,746
  • Worker 0: actual time=0.007..0.007 rows=0 loops=168,977
  • Buffers: shared hit=687,018
  • Worker 1: actual time=0.006..0.006 rows=0 loops=1,172
  • Buffers: shared hit=4,701
43. 170.404 170.404 ↓ 0.0 0 170,404 / 3

Index Scan using ixtem2timeentryid on ec59310f04eb4b13a07d9dd6e7e07b8c.timeentrymetadata temdbreaktype (cost=0.56..2.22 rows=1 width=16) (actual time=0.003..0.003 rows=0 loops=170,404)

  • Output: temdbreaktype.id, temdbreaktype.timeentryid, temdbreaktype.parentid, temdbreaktype.index, temdbreaktype.key, temdbreaktype.uri, temdbreaktype.slug, temdbreaktype."boolean", temdbreaktype.date, temdbreaktype.number, temdbreaktype.text, temdbreaktype."time", temdbreaktype.timespan, temdbreaktype.daterange_startdate, temdbreaktype.daterange_enddate, temdbreaktype.daterange_relativedaterangeuri, temdbreaktype.daterange_relativedaterangeasofdate, temdbreaktype.workdayduration_decimalworkdays, temdbreaktype.workdayduration_workdays, temdbreaktype.workdayduration_hours, temdbreaktype.workdayduration_minutes
  • Index Cond: ((temdbreaktype.timeentryid = te.id) AND (upper(temdbreaktype.key) = 'URN:REPLICON:TIME-ENTRY-METADATA-KEY:BREAK-TYPE'::text))
  • Buffers: shared hit=681,851
  • Worker 0: actual time=0.003..0.003 rows=0 loops=168,977
  • Buffers: shared hit=676,142
  • Worker 1: actual time=0.003..0.003 rows=0 loops=1,172
  • Buffers: shared hit=4,689
44. 0.001 0.017 ↓ 0.0 0 1

Subquery Scan on *SELECT* 2 (cost=0.84..4.48 rows=1 width=64) (actual time=0.017..0.017 rows=0 loops=1)

  • Output: "*SELECT* 2".entrydate, "*SELECT* 2".timeoffduration, "*SELECT* 2".timeoffentryid, "*SELECT* 2".duration, "*SELECT* 2".timeentryid, "*SELECT* 2".userid, "*SELECT* 2".timeoffcodeid
  • Buffers: shared hit=3
45. 0.000 0.016 ↓ 0.0 0 1

Nested Loop (cost=0.84..4.47 rows=1 width=140) (actual time=0.016..0.016 rows=0 loops=1)

  • Output: NULL::uuid, NULL::integer, toff.userid, toe.entrydate, NULL::time without time zone, NULL::time without time zone, toe.duration, NULL::uuid, toff.timeoffcodeid, toe.duration, toe.id, NULL::interval, NULL::interval, NULL::integer, NULL::integer
  • Inner Unique: true
  • Buffers: shared hit=3
46. 0.016 0.016 ↓ 0.0 0 1

Index Scan using timeoffentries_pkey on ec59310f04eb4b13a07d9dd6e7e07b8c.timeoffentries toe (cost=0.42..2.04 rows=1 width=28) (actual time=0.015..0.016 rows=0 loops=1)

  • Output: toe.id, toe.timeoffid, toe.entrydate, toe.duration, toe.workdayduration, toe.timein, toe.timeout, toe.isreportable, toe.entryid
  • Index Cond: (toe.id IS NULL)
  • Filter: ((toe.entrydate >= '2020-10-04'::date) AND (toe.entrydate <= '2020-10-10'::date))
  • Buffers: shared hit=3
47. 0.000 0.000 ↓ 0.0 0

Index Scan using timeoffs_pkey on ec59310f04eb4b13a07d9dd6e7e07b8c.timeoffs toff (cost=0.42..2.44 rows=1 width=12) (never executed)

  • Output: toff.id, toff.guidid, toff.userid, toff.createdbyuserid, toff.timeoffcodeid, toff.startdate, toff.enddate, toff.startdurationtype, toff.enddurationtype, toff.startduration, toff.endduration, toff.startdatestarttime, toff.enddateendtime, toff.approvalstatus, toff.comments, toff.submittedonutc, toff.modifiedonutc, toff.entryconfigurationmethod, toff.info1, toff.info2, toff.info3, toff.info4, toff.info5
  • Index Cond: (toff.id = toe.timeoffid)
48. 1,192.828 1,192.828 ↓ 0.0 0 170,404

Index Scan using ixtem2timeentryid on ec59310f04eb4b13a07d9dd6e7e07b8c.timeentrymetadata timeentrymetadata12 (cost=0.56..2.22 rows=1 width=79) (actual time=0.007..0.007 rows=0 loops=170,404)

  • Output: timeentrymetadata12.id, timeentrymetadata12.timeentryid, timeentrymetadata12.parentid, timeentrymetadata12.index, timeentrymetadata12.key, timeentrymetadata12.uri, timeentrymetadata12.slug, timeentrymetadata12."boolean", timeentrymetadata12.date, timeentrymetadata12.number, timeentrymetadata12.text, timeentrymetadata12."time", timeentrymetadata12.timespan, timeentrymetadata12.daterange_startdate, timeentrymetadata12.daterange_enddate, timeentrymetadata12.daterange_relativedaterangeuri, timeentrymetadata12.daterange_relativedaterangeasofdate, timeentrymetadata12.workdayduration_decimalworkdays, timeentrymetadata12.workdayduration_workdays, timeentrymetadata12.workdayduration_hours, timeentrymetadata12.workdayduration_minutes
  • Index Cond: (("*SELECT* 1".timeentryid = timeentrymetadata12.timeentryid) AND (upper(timeentrymetadata12.key) = 'URN:REPLICON:TIME-ENTRY-METADATA-KEY:PROJECT'::text))
  • Buffers: shared hit=687,607
49. 77.430 228.447 ↑ 1.0 508,353 1

Hash (cost=21,882.72..21,882.72 rows=508,353 width=4) (actual time=228.447..228.447 rows=508,353 loops=1)

  • Output: project13.id
  • Buckets: 524,288 Batches: 1 Memory Usage: 21,968kB
  • Buffers: shared hit=112,326
50. 151.017 151.017 ↑ 1.0 508,353 1

Index Only Scan using project_pkey on ec59310f04eb4b13a07d9dd6e7e07b8c.project project13 (cost=0.42..21,882.72 rows=508,353 width=4) (actual time=0.043..151.017 rows=508,353 loops=1)

  • Output: project13.id
  • Heap Fetches: 151,329
  • Buffers: shared hit=112,326
51. 681.616 681.616 ↑ 2.0 1 170,404

Index Scan using ixtem2timeentryid on ec59310f04eb4b13a07d9dd6e7e07b8c.timeentrymetadata timeentrymetadata14 (cost=0.56..2.83 rows=2 width=79) (actual time=0.003..0.004 rows=1 loops=170,404)

  • Output: timeentrymetadata14.id, timeentrymetadata14.timeentryid, timeentrymetadata14.parentid, timeentrymetadata14.index, timeentrymetadata14.key, timeentrymetadata14.uri, timeentrymetadata14.slug, timeentrymetadata14."boolean", timeentrymetadata14.date, timeentrymetadata14.number, timeentrymetadata14.text, timeentrymetadata14."time", timeentrymetadata14.timespan, timeentrymetadata14.daterange_startdate, timeentrymetadata14.daterange_enddate, timeentrymetadata14.daterange_relativedaterangeuri, timeentrymetadata14.daterange_relativedaterangeasofdate, timeentrymetadata14.workdayduration_decimalworkdays, timeentrymetadata14.workdayduration_workdays, timeentrymetadata14.workdayduration_hours, timeentrymetadata14.workdayduration_minutes
  • Index Cond: (("*SELECT* 1".timeentryid = timeentrymetadata14.timeentryid) AND (upper(timeentrymetadata14.key) = 'URN:REPLICON:TIME-ENTRY-METADATA-KEY:TASK'::text))
  • Buffers: shared hit=853,975
52. 192.398 382.376 ↑ 1.0 1,026,172 1

Hash (cost=55,692.72..55,692.72 rows=1,026,172 width=8) (actual time=382.376..382.376 rows=1,026,172 loops=1)

  • Output: task15.id, task15.projectid
  • Buckets: 1,048,576 Batches: 1 Memory Usage: 48,277kB
  • Buffers: shared hit=45,431
53. 189.978 189.978 ↑ 1.0 1,026,172 1

Seq Scan on ec59310f04eb4b13a07d9dd6e7e07b8c.task task15 (cost=0.00..55,692.72 rows=1,026,172 width=8) (actual time=0.007..189.978 rows=1,026,172 loops=1)

  • Output: task15.id, task15.projectid
  • Buffers: shared hit=45,431
54. 121.911 247.284 ↑ 1.0 508,353 1

Hash (cost=50,556.53..50,556.53 rows=508,353 width=44) (actual time=247.284..247.284 rows=508,353 loops=1)

  • Output: pj.name, pj.id
  • Buckets: 524,288 Batches: 1 Memory Usage: 42,739kB
  • Buffers: shared hit=45,473
55. 125.373 125.373 ↑ 1.0 508,353 1

Seq Scan on ec59310f04eb4b13a07d9dd6e7e07b8c.project pj (cost=0.00..50,556.53 rows=508,353 width=44) (actual time=0.006..125.373 rows=508,353 loops=1)

  • Output: pj.name, pj.id
  • Buffers: shared hit=45,473
56. 681.616 681.616 ↑ 5.0 1 170,404

Index Scan using ixtsuseridstartdateenddate on ec59310f04eb4b13a07d9dd6e7e07b8c.timesheet ts (cost=0.42..0.68 rows=5 width=28) (actual time=0.004..0.004 rows=1 loops=170,404)

  • Output: ts.id, ts.userid, ts.startdate, ts.enddate, ts.approvalstatus, ts.duedate, ts.autosubmitdatetimeutc, ts.lastautosubmitattemptdatetimeutc, ts.createdonutc
  • Index Cond: ((ts.userid = "*SELECT* 1".userid) AND ("*SELECT* 1".entrydate >= ts.startdate) AND ("*SELECT* 1".entrydate <= ts.enddate))
  • Buffers: shared hit=800,895
57. 45.150 158.844 ↑ 1.0 259,889 1

Hash (cost=49,533.86..49,533.86 rows=259,897 width=20) (actual time=158.844..158.844 rows=259,889 loops=1)

  • Output: tslist.timesheetstatus, tslist.timesheetid
  • Buckets: 262,144 Batches: 1 Memory Usage: 15,246kB
  • Buffers: shared hit=45,890
58. 113.694 113.694 ↑ 1.0 259,889 1

Seq Scan on ec59310f04eb4b13a07d9dd6e7e07b8c.dm_timesheetlist_facts tslist (cost=0.00..49,533.86 rows=259,897 width=20) (actual time=0.005..113.694 rows=259,889 loops=1)

  • Output: tslist.timesheetstatus, tslist.timesheetid
  • Filter: (tslist.timesheetstatus = ANY ('{1,2,4}'::integer[]))
  • Rows Removed by Filter: 5,120
  • Buffers: shared hit=45,890
59. 16.168 850.850 ↓ 0.0 0 170,170

Materialize (cost=0.56..441,459.99 rows=1 width=79) (actual time=0.005..0.005 rows=0 loops=170,170)

  • Output: timeentrymetadata16.timeentryid, timeentrymetadata16.uri
  • Buffers: shared hit=293,006
60. 834.682 834.682 ↓ 0.0 0 1

Index Scan using ixtem2timeentryid on ec59310f04eb4b13a07d9dd6e7e07b8c.timeentrymetadata timeentrymetadata16 (cost=0.56..441,459.98 rows=1 width=79) (actual time=834.682..834.682 rows=0 loops=1)

  • Output: timeentrymetadata16.timeentryid, timeentrymetadata16.uri
  • Index Cond: (upper(timeentrymetadata16.key) = 'URN:REPLICON:TIME-ENTRY-METADATA-KEY:BREAK-TYPE'::text)
  • Buffers: shared hit=293,006
61. 1.435 3.676 ↓ 1.0 6,283 1

Hash (cost=255.42..255.42 rows=6,242 width=32) (actual time=3.676..3.676 rows=6,283 loops=1)

  • Output: ui.lastname, ui.firstname, ui.duplicatename, ui.displayname, ui.id
  • Buckets: 8,192 Batches: 1 Memory Usage: 475kB
  • Buffers: shared hit=193
62. 2.241 2.241 ↓ 1.0 6,283 1

Seq Scan on ec59310f04eb4b13a07d9dd6e7e07b8c.userinfo ui (cost=0.00..255.42 rows=6,242 width=32) (actual time=0.004..2.241 rows=6,283 loops=1)

  • Output: ui.lastname, ui.firstname, ui.duplicatename, ui.displayname, ui.id
  • Buffers: shared hit=193
63. 0.832 1.698 ↓ 1.0 6,283 1

Hash (cost=177.42..177.42 rows=6,242 width=11) (actual time=1.698..1.698 rows=6,283 loops=1)

  • Output: login.loginname, login.userid
  • Buckets: 8,192 Batches: 1 Memory Usage: 334kB
  • Buffers: shared hit=115
64. 0.866 0.866 ↓ 1.0 6,283 1

Seq Scan on ec59310f04eb4b13a07d9dd6e7e07b8c.login (cost=0.00..177.42 rows=6,242 width=11) (actual time=0.008..0.866 rows=6,283 loops=1)

  • Output: login.loginname, login.userid
  • Buffers: shared hit=115
65. 0.009 0.018 ↑ 1.0 18 1

Hash (cost=1.18..1.18 rows=18 width=19) (actual time=0.018..0.018 rows=18 loops=1)

  • Output: timeoffcode4.name, timeoffcode4.id
  • Buckets: 1,024 Batches: 1 Memory Usage: 9kB
  • Buffers: shared hit=1
66. 0.009 0.009 ↑ 1.0 18 1

Seq Scan on ec59310f04eb4b13a07d9dd6e7e07b8c.timeoffcode timeoffcode4 (cost=0.00..1.18 rows=18 width=19) (actual time=0.007..0.009 rows=18 loops=1)

  • Output: timeoffcode4.name, timeoffcode4.id
  • Buffers: shared hit=1
67. 244.912 503.445 ↑ 1.0 1,026,172 1

Hash (cost=55,692.72..55,692.72 rows=1,026,172 width=28) (actual time=503.445..503.445 rows=1,026,172 loops=1)

  • Output: tk.name, tk.id, tk.estimatedcostcurrencyid
  • Buckets: 1,048,576 Batches: 1 Memory Usage: 66,074kB
  • Buffers: shared hit=45,431
68. 258.533 258.533 ↑ 1.0 1,026,172 1

Seq Scan on ec59310f04eb4b13a07d9dd6e7e07b8c.task tk (cost=0.00..55,692.72 rows=1,026,172 width=28) (actual time=0.005..258.533 rows=1,026,172 loops=1)

  • Output: tk.name, tk.id, tk.estimatedcostcurrencyid
  • Buffers: shared hit=45,431
69. 0.003 0.024 ↑ 1.0 1 1

Hash (cost=1.03..1.03 rows=1 width=4) (actual time=0.024..0.024 rows=1 loops=1)

  • Output: exchangerate.fixedcurrencyid
  • Buckets: 1,024 Batches: 1 Memory Usage: 9kB
  • Buffers: shared hit=2
70. 0.021 0.021 ↑ 1.0 1 1

Seq Scan on ec59310f04eb4b13a07d9dd6e7e07b8c.exchangerate (cost=0.00..1.03 rows=1 width=4) (actual time=0.021..0.021 rows=1 loops=1)

  • Output: exchangerate.fixedcurrencyid
  • Filter: ((exchangerate.variablecurrencyid = $0) AND (('now'::cstring)::date >= exchangerate.effectivedate) AND (('now'::cstring)::date <= exchangerate.enddate))
  • Buffers: shared hit=2
71. 499.699 1,450.755 ↓ 1.0 770,886 1

Sort (cost=320,559.49..322,484.49 rows=769,997 width=20) (actual time=1,268.657..1,450.755 rows=770,886 loops=1)

  • Output: objectextensionfieldvalue7.numericvalue, objectextensionfieldvalue7.objectid
  • Sort Key: objectextensionfieldvalue7.objectid
  • Sort Method: quicksort Memory: 84,803kB
  • Buffers: shared hit=119,280
72. 951.056 951.056 ↓ 1.0 770,899 1

Seq Scan on ec59310f04eb4b13a07d9dd6e7e07b8c.objectextensionfieldvalue objectextensionfieldvalue7 (cost=0.00..245,274.99 rows=769,997 width=20) (actual time=0.013..951.056 rows=770,899 loops=1)

  • Output: objectextensionfieldvalue7.numericvalue, objectextensionfieldvalue7.objectid
  • Filter: ('d11e18bc-d5d2-4205-8af0-cc8993994362'::uuid = objectextensionfieldvalue7.definitionid)
  • Rows Removed by Filter: 9,308,773
  • Buffers: shared hit=119,280
73. 8,068.385 8,068.385 ↓ 1.0 7,633,410 1

Index Scan using ixoefv_objectid on ec59310f04eb4b13a07d9dd6e7e07b8c.objectextensionfieldvalue objectextensionfieldvalue17 (cost=0.43..347,074.42 rows=7,617,741 width=32) (actual time=0.056..8,068.385 rows=7,633,410 loops=1)

  • Output: objectextensionfieldvalue17.id, objectextensionfieldvalue17.tagid, objectextensionfieldvalue17.objectid, objectextensionfieldvalue17.definitionid, objectextensionfieldvalue17.numericvalue, objectextensionfieldvalue17.textvalue, objectextensionfieldvalue17.urivalue
  • Filter: ('b814810f-03d6-4d06-894f-7d8b64bffed5'::uuid = objectextensionfieldvalue17.definitionid)
  • Rows Removed by Filter: 2,446,112
  • Buffers: shared hit=57,137
74. 0.066 0.125 ↑ 1.0 326 1

Hash (cost=10.26..10.26 rows=326 width=54) (actual time=0.125..0.125 rows=326 loops=1)

  • Output: objectextensiontag11.name, objectextensiontag11.id
  • Buckets: 1,024 Batches: 1 Memory Usage: 36kB
  • Buffers: shared hit=7
75. 0.059 0.059 ↑ 1.0 326 1

Seq Scan on ec59310f04eb4b13a07d9dd6e7e07b8c.objectextensiontag objectextensiontag11 (cost=0.00..10.26 rows=326 width=54) (actual time=0.006..0.059 rows=326 loops=1)

  • Output: objectextensiontag11.name, objectextensiontag11.id
  • Buffers: shared hit=7
Planning time : 9.641 ms
Execution time : 59,345.793 ms