explain.depesz.com

PostgreSQL's explain analyze made readable

Result: E6Mh

Settings
# exclusive inclusive rows x rows loops node
1. 16,963.187 1,481,522.634 ↑ 604.7 10,609,649 1

Hash Left Join (cost=12,404,989.54..3,460,900,626.52 rows=6,415,705,268 width=1,358) (actual time=101,817.734..1,481,522.634 rows=10,609,649 loops=1)

  • Hash Cond: ("*SELECT* 1".clientid = clients7.id)
2. 9,856.202 1,464,556.018 ↑ 604.7 10,609,649 1

Hash Left Join (cost=12,404,851.96..3,372,684,541.50 rows=6,415,705,268 width=1,317) (actual time=101,814.270..1,464,556.018 rows=10,609,649 loops=1)

  • Hash Cond: ("*SELECT* 1".timeofftypeid = timeoffcode6.id)
3. 9,803.304 1,454,699.767 ↑ 604.7 10,609,649 1

Hash Left Join (cost=12,404,850.00..3,334,831,878.45 rows=6,415,705,268 width=801) (actual time=101,814.210..1,454,699.767 rows=10,609,649 loops=1)

  • Hash Cond: ("*SELECT* 1".breaktypeid = breaktype5.id)
4. 10,272.033 1,444,896.455 ↑ 604.7 10,609,649 1

Hash Left Join (cost=12,404,848.95..3,310,131,412.12 rows=6,415,705,268 width=565) (actual time=101,814.190..1,444,896.455 rows=10,609,649 loops=1)

  • Hash Cond: ("*SELECT* 1".billingrateid = billingrate4.id)
5. 10,908.652 1,434,624.403 ↑ 604.7 10,609,649 1

Hash Left Join (cost=12,404,847.91..3,285,430,945.79 rows=6,415,705,268 width=447) (actual time=101,814.152..1,434,624.403 rows=10,609,649 loops=1)

  • Hash Cond: ("*SELECT* 1".taskid = task3.id)
6. 13,282.864 1,423,710.173 ↑ 604.7 10,609,649 1

Hash Left Join (cost=12,404,654.31..3,197,214,804.75 rows=6,415,705,268 width=414) (actual time=101,808.528..1,423,710.173 rows=10,609,649 loops=1)

  • Hash Cond: ("*SELECT* 1".projectid = project2.id)
7. 9,685.993 1,410,415.421 ↑ 604.7 10,609,649 1

Hash Left Join (cost=12,404,111.83..3,108,998,314.85 rows=6,415,705,268 width=388) (actual time=101,796.547..1,410,415.421 rows=10,609,649 loops=1)

  • Hash Cond: ("*SELECT* 1".activityid = activities1.id)
8. 8,028.181 1,400,729.407 ↑ 604.7 10,609,649 1

Append (cost=12,404,110.77..3,083,977,063.23 rows=6,415,705,268 width=152) (actual time=101,796.510..1,400,729.407 rows=10,609,649 loops=1)

9. 8,472.275 1,378,746.162 ↑ 690.0 9,296,220 1

Subquery Scan on *SELECT* 1 (cost=12,404,110.77..3,083,637,844.49 rows=6,414,391,800 width=152) (actual time=101,796.510..1,378,746.162 rows=9,296,220 loops=1)

10. 38,987.252 1,370,273.887 ↑ 690.0 9,296,220 1

Hash Left Join (cost=12,404,110.77..3,019,493,926.49 rows=6,414,391,800 width=280) (actual time=101,796.508..1,370,273.887 rows=9,296,220 loops=1)

  • Hash Cond: (te.id = te_isbillable.timeentryid)
11. 16,677.867 1,327,391.081 ↑ 690.0 9,296,220 1

Hash Left Join (cost=11,499,489.98..1,198,505,625.55 rows=6,414,391,800 width=279) (actual time=97,900.874..1,327,391.081 rows=9,296,220 loops=1)

  • Hash Cond: (("substring"(te_client.uri, concat('^urn:replicon-tenant:', si.tenantslug, ':client:(.*)$')))::integer = client.id)
12. 9,099.417 1,310,709.415 ↑ 690.0 9,296,220 1

Hash Left Join (cost=11,499,352.40..1,078,235,641.72 rows=6,414,391,800 width=335) (actual time=97,897.011..1,310,709.415 rows=9,296,220 loops=1)

  • Hash Cond: (te.id = te_client.timeentryid)
13. 15,851.169 1,297,746.799 ↑ 690.0 9,296,220 1

Hash Left Join (cost=10,594,731.61..1,053,277,044.78 rows=6,414,391,800 width=275) (actual time=94,033.798..1,297,746.799 rows=9,296,220 loops=1)

  • Hash Cond: (("substring"(te_timeofftype.uri, concat('urn:replicon-tenant:', si.tenantslug, ':time-off-type:(.*)$')))::integer = toc.id)
14. 16,431.922 1,281,895.579 ↑ 690.0 9,296,220 1

Hash Left Join (cost=10,594,729.64..983,360,172.19 rows=6,414,391,800 width=331) (actual time=94,033.729..1,281,895.579 rows=9,296,220 loops=1)

  • Hash Cond: (("substring"(te_breaktype.uri, concat('^urn:replicon-tenant:', si.tenantslug, ':break-type:(.*)$')))::uuid = bt.id)
15. 280,835.070 1,265,463.645 ↑ 690.0 9,296,220 1

Hash Left Join (cost=10,594,728.60..926,592,803.72 rows=6,414,391,800 width=375) (actual time=94,033.697..1,265,463.645 rows=9,296,220 loops=1)

  • Hash Cond: (("substring"(te_task.uri, concat('^urn:replicon-tenant:', si.tenantslug, ':task:(.*)$')))::integer = task.id)
16. 729,623.812 984,623.552 ↑ 690.0 9,296,220 1

Hash Left Join (cost=10,594,535.00..806,322,763.87 rows=6,414,391,800 width=431) (actual time=94,028.646..984,623.552 rows=9,296,220 loops=1)

  • Hash Cond: (("substring"(te_project.uri, concat('^urn:replicon-tenant:', si.tenantslug, ':project:(.*)$')))::integer = proj.id)
17. 8,283.308 254,986.140 ↑ 690.0 9,296,220 1

Merge Left Join (cost=10,593,992.53..686,052,375.15 rows=6,414,391,800 width=483) (actual time=94,014.831..254,986.140 rows=9,296,220 loops=1)

  • Merge Cond: (te.id = te_timeofftype.timeentryid)
18. 7,983.758 242,824.182 ↑ 690.0 9,296,220 1

Merge Left Join (cost=9,689,371.74..669,111,764.51 rows=6,414,391,800 width=423) (actual time=90,136.176..242,824.182 rows=9,296,220 loops=1)

  • Merge Cond: (te.id = te_breaktype.timeentryid)
19. 10,409.087 230,961.307 ↑ 690.0 9,296,220 1

Merge Left Join (cost=8,784,750.96..652,171,153.87 rows=6,414,391,800 width=363) (actual time=86,257.056..230,961.307 rows=9,296,220 loops=1)

  • Merge Cond: (te.id = te_billingrate.timeentryid)
20. 10,745.237 207,013.024 ↑ 690.0 9,296,220 1

Merge Left Join (cost=7,438,861.80..611,294,845.50 rows=6,414,391,800 width=303) (actual time=77,573.653..207,013.024 rows=9,296,220 loops=1)

  • Merge Cond: (te.id = te_task.timeentryid)
21. 51,131.450 180,654.245 ↑ 690.0 9,296,220 1

Nested Loop Left Join (cost=6,034,518.39..567,365,611.90 rows=6,414,391,800 width=243) (actual time=67,683.239..180,654.245 rows=9,296,220 loops=1)

  • Join Filter: (("substring"(te_activity.uri, concat('^urn:replicon-tenant:', si.tenantslug, ':activity:(.*)$')))::integer = act.id)
  • Rows Removed by Join Filter: 27888660
22. 13,522.274 120,226.575 ↑ 690.0 9,296,220 1

Nested Loop (cost=6,034,518.39..86,286,225.86 rows=6,414,391,800 width=299) (actual time=67,683.205..120,226.575 rows=9,296,220 loops=1)

23. 7,643.099 97,408.081 ↑ 1.0 9,296,220 1

Merge Left Join (cost=6,034,518.39..6,106,301.82 rows=9,296,220 width=235) (actual time=67,683.180..97,408.081 rows=9,296,220 loops=1)

  • Merge Cond: (te.id = te_activity.timeentryid)
24. 9,863.203 85,878.410 ↑ 1.0 9,296,220 1

Merge Left Join (cost=5,129,897.61..5,178,440.47 rows=9,296,220 width=175) (actual time=63,796.605..85,878.410 rows=9,296,220 loops=1)

  • Merge Cond: (te.id = te_comment.timeentryid)
25. 34,651.227 71,538.398 ↑ 1.0 9,296,220 1

Sort (cost=4,211,324.68..4,234,565.23 rows=9,296,220 width=136) (actual time=59,587.295..71,538.398 rows=9,296,220 loops=1)

  • Sort Key: te.id
  • Sort Method: external merge Disk: 1036776kB
26. 8,443.929 36,887.171 ↑ 1.0 9,296,220 1

Hash Join (cost=402,241.37..1,864,401.29 rows=9,296,220 width=136) (actual time=11,591.121..36,887.171 rows=9,296,220 loops=1)

  • Hash Cond: (te.userid = ui.id)
27. 12,495.669 28,433.593 ↑ 1.0 9,296,220 1

Hash Right Join (cost=401,844.50..1,736,181.39 rows=9,296,220 width=120) (actual time=11,581.452..28,433.593 rows=9,296,220 loops=1)

  • Hash Cond: (te_project.timeentryid = te.id)
28. 6,772.431 6,772.431 ↑ 1.0 6,655,991 1

Seq Scan on timeentrymetadata te_project (cost=0.00..904,620.78 rows=6,712,426 width=76) (actual time=1,895.864..6,772.431 rows=6,655,991 loops=1)

  • Filter: (key = 'urn:replicon:time-entry-metadata-key:project'::text)
  • Rows Removed by Filter: 15777764
29. 4,771.910 9,165.493 ↑ 1.0 9,296,220 1

Hash (cost=185,779.75..185,779.75 rows=9,296,220 width=60) (actual time=9,165.493..9,165.493 rows=9,296,220 loops=1)

  • Buckets: 65536 Batches: 256 Memory Usage: 2794kB
30. 4,393.583 4,393.583 ↑ 1.0 9,296,220 1

Seq Scan on timeentry te (cost=0.00..185,779.75 rows=9,296,220 width=60) (actual time=0.011..4,393.583 rows=9,296,220 loops=1)

  • Filter: ((timeallocationtype <> 2) OR (timeallocationtype IS NULL))
31. 3.937 9.649 ↑ 1.0 7,772 1

Hash (cost=299.72..299.72 rows=7,772 width=20) (actual time=9.649..9.649 rows=7,772 loops=1)

  • Buckets: 8192 Batches: 1 Memory Usage: 471kB
32. 5.712 5.712 ↑ 1.0 7,772 1

Seq Scan on userinfo ui (cost=0.00..299.72 rows=7,772 width=20) (actual time=0.007..5.712 rows=7,772 loops=1)

33. 108.245 4,476.809 ↓ 1.1 130,925 1

Materialize (cost=918,572.93..919,162.00 rows=117,815 width=55) (actual time=4,209.303..4,476.809 rows=130,925 loops=1)

34. 405.591 4,368.564 ↓ 1.1 130,925 1

Sort (cost=918,572.93..918,867.47 rows=117,815 width=55) (actual time=4,209.296..4,368.564 rows=130,925 loops=1)

  • Sort Key: te_comment.timeentryid
  • Sort Method: external merge Disk: 6952kB
35. 3,962.973 3,962.973 ↓ 1.1 130,925 1

Seq Scan on timeentrymetadata te_comment (cost=0.00..904,620.78 rows=117,815 width=55) (actual time=0.083..3,962.973 rows=130,925 loops=1)

  • Filter: (key = 'urn:replicon:time-entry-metadata-key:comments'::text)
  • Rows Removed by Filter: 22302830
36. 0.018 3,886.572 ↓ 0.0 0 1

Sort (cost=904,620.79..904,620.79 rows=1 width=76) (actual time=3,886.572..3,886.572 rows=0 loops=1)

  • Sort Key: te_activity.timeentryid
  • Sort Method: quicksort Memory: 25kB
37. 3,886.554 3,886.554 ↓ 0.0 0 1

Seq Scan on timeentrymetadata te_activity (cost=0.00..904,620.78 rows=1 width=76) (actual time=3,886.554..3,886.554 rows=0 loops=1)

  • Filter: (key = 'urn:replicon:time-entry-metadata-key:activity'::text)
  • Rows Removed by Filter: 22433755
38. 9,296.204 9,296.220 ↑ 690.0 1 9,296,220

Materialize (cost=0.00..28.26 rows=690 width=64) (actual time=0.000..0.001 rows=1 loops=9,296,220)

39. 0.009 0.016 ↑ 690.0 1 1

Nested Loop (cost=0.00..24.81 rows=690 width=64) (actual time=0.013..0.016 rows=1 loops=1)

40. 0.004 0.004 ↑ 1.0 1 1

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

41. 0.003 0.003 ↑ 690.0 1 1

Seq Scan on projectsysteminformation psi (cost=0.00..16.90 rows=690 width=32) (actual time=0.002..0.003 rows=1 loops=1)

42. 9,296.214 9,296.220 ↑ 1.0 3 9,296,220

Materialize (cost=0.00..1.04 rows=3 width=4) (actual time=0.000..0.001 rows=3 loops=9,296,220)

43. 0.006 0.006 ↑ 1.0 3 1

Seq Scan on activities act (cost=0.00..1.03 rows=3 width=4) (actual time=0.003..0.006 rows=3 loops=1)

44. 2,141.466 15,613.542 ↓ 1.0 2,593,241 1

Materialize (cost=1,404,343.41..1,417,136.89 rows=2,558,697 width=76) (actual time=9,890.408..15,613.542 rows=2,593,241 loops=1)

45. 8,290.358 13,472.076 ↓ 1.0 2,593,241 1

Sort (cost=1,404,343.41..1,410,740.15 rows=2,558,697 width=76) (actual time=9,890.401..13,472.076 rows=2,593,241 loops=1)

  • Sort Key: te_task.timeentryid
  • Sort Method: external merge Disk: 225048kB
46. 5,181.718 5,181.718 ↓ 1.0 2,593,241 1

Seq Scan on timeentrymetadata te_task (cost=0.00..904,620.78 rows=2,558,697 width=76) (actual time=1,903.088..5,181.718 rows=2,593,241 loops=1)

  • Filter: (key = 'urn:replicon:time-entry-metadata-key:task'::text)
  • Rows Removed by Filter: 19840514
47. 1,851.255 13,539.196 ↑ 1.0 2,229,746 1

Materialize (cost=1,345,889.15..1,357,236.38 rows=2,269,446 width=76) (actual time=8,683.396..13,539.196 rows=2,229,746 loops=1)

48. 6,676.661 11,687.941 ↑ 1.0 2,229,746 1

Sort (cost=1,345,889.15..1,351,562.77 rows=2,269,446 width=76) (actual time=8,683.391..11,687.941 rows=2,229,746 loops=1)

  • Sort Key: te_billingrate.timeentryid
  • Sort Method: external merge Disk: 150448kB
49. 5,011.280 5,011.280 ↑ 1.0 2,229,746 1

Seq Scan on timeentrymetadata te_billingrate (cost=0.00..904,620.78 rows=2,269,446 width=76) (actual time=0.086..5,011.280 rows=2,229,746 loops=1)

  • Filter: (key = 'urn:replicon:time-entry-metadata-key:billing-rate'::text)
  • Rows Removed by Filter: 20204009
50. 0.006 3,879.117 ↓ 0.0 0 1

Materialize (cost=904,620.79..904,620.79 rows=1 width=76) (actual time=3,879.117..3,879.117 rows=0 loops=1)

51. 0.016 3,879.111 ↓ 0.0 0 1

Sort (cost=904,620.79..904,620.79 rows=1 width=76) (actual time=3,879.111..3,879.111 rows=0 loops=1)

  • Sort Key: te_breaktype.timeentryid
  • Sort Method: quicksort Memory: 25kB
52. 3,879.095 3,879.095 ↓ 0.0 0 1

Seq Scan on timeentrymetadata te_breaktype (cost=0.00..904,620.78 rows=1 width=76) (actual time=3,879.095..3,879.095 rows=0 loops=1)

  • Filter: (key = 'urn:replicon:time-entry-metadata-key:break-type'::text)
  • Rows Removed by Filter: 22433755
53. 0.006 3,878.650 ↓ 0.0 0 1

Materialize (cost=904,620.79..904,620.79 rows=1 width=76) (actual time=3,878.650..3,878.650 rows=0 loops=1)

54. 0.016 3,878.644 ↓ 0.0 0 1

Sort (cost=904,620.79..904,620.79 rows=1 width=76) (actual time=3,878.644..3,878.644 rows=0 loops=1)

  • Sort Key: te_timeofftype.timeentryid
  • Sort Method: quicksort Memory: 25kB
55. 3,878.628 3,878.628 ↓ 0.0 0 1

Seq Scan on timeentrymetadata te_timeofftype (cost=0.00..904,620.78 rows=1 width=76) (actual time=3,878.628..3,878.628 rows=0 loops=1)

  • Filter: (key = 'urn:replicon:time-entry-metadata-key:time-off-type'::text)
  • Rows Removed by Filter: 22433755
56. 5.191 13.600 ↑ 1.0 11,221 1

Hash (cost=402.21..402.21 rows=11,221 width=8) (actual time=13.600..13.600 rows=11,221 loops=1)

  • Buckets: 16384 Batches: 1 Memory Usage: 567kB
57. 8.409 8.409 ↑ 1.0 11,221 1

Seq Scan on project proj (cost=0.00..402.21 rows=11,221 width=8) (actual time=0.030..8.409 rows=11,221 loops=1)

58. 2.475 5.023 ↑ 1.0 5,360 1

Hash (cost=126.60..126.60 rows=5,360 width=4) (actual time=5.023..5.023 rows=5,360 loops=1)

  • Buckets: 8192 Batches: 1 Memory Usage: 253kB
59. 2.548 2.548 ↑ 1.0 5,360 1

Seq Scan on task (cost=0.00..126.60 rows=5,360 width=4) (actual time=0.011..2.548 rows=5,360 loops=1)

60. 0.004 0.012 ↑ 1.0 2 1

Hash (cost=1.02..1.02 rows=2 width=16) (actual time=0.012..0.012 rows=2 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
61. 0.008 0.008 ↑ 1.0 2 1

Seq Scan on breaktype bt (cost=0.00..1.02 rows=2 width=16) (actual time=0.008..0.008 rows=2 loops=1)

62. 0.023 0.051 ↑ 1.0 43 1

Hash (cost=1.43..1.43 rows=43 width=4) (actual time=0.051..0.051 rows=43 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 10kB
63. 0.028 0.028 ↑ 1.0 43 1

Seq Scan on timeoffcode toc (cost=0.00..1.43 rows=43 width=4) (actual time=0.008..0.028 rows=43 loops=1)

64. 0.002 3,863.199 ↓ 0.0 0 1

Hash (cost=904,620.78..904,620.78 rows=1 width=76) (actual time=3,863.199..3,863.199 rows=0 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 8kB
65. 3,863.197 3,863.197 ↓ 0.0 0 1

Seq Scan on timeentrymetadata te_client (cost=0.00..904,620.78 rows=1 width=76) (actual time=3,863.197..3,863.197 rows=0 loops=1)

  • Filter: (key = 'urn:replicon:time-entry-metadata-key:client'::text)
  • Rows Removed by Filter: 22433755
66. 1.566 3.799 ↑ 1.0 3,448 1

Hash (cost=94.48..94.48 rows=3,448 width=4) (actual time=3.799..3.799 rows=3,448 loops=1)

  • Buckets: 4096 Batches: 1 Memory Usage: 154kB
67. 2.233 2.233 ↑ 1.0 3,448 1

Seq Scan on clients client (cost=0.00..94.48 rows=3,448 width=4) (actual time=0.014..2.233 rows=3,448 loops=1)

68. 0.002 3,895.554 ↓ 0.0 0 1

Hash (cost=904,620.78..904,620.78 rows=1 width=17) (actual time=3,895.554..3,895.554 rows=0 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 8kB
69. 3,895.552 3,895.552 ↓ 0.0 0 1

Seq Scan on timeentrymetadata te_isbillable (cost=0.00..904,620.78 rows=1 width=17) (actual time=3,895.552..3,895.552 rows=0 loops=1)

  • Filter: (key = 'urn:replicon:time-entry-metadata-key:is-billable'::text)
  • Rows Removed by Filter: 22433755
70. 0.002 0.650 ↓ 0.0 0 1

Subquery Scan on *SELECT* 2 (cost=3.69..11.88 rows=1 width=118) (actual time=0.650..0.650 rows=0 loops=1)

71. 0.000 0.648 ↓ 0.0 0 1

Nested Loop Left Join (cost=3.69..11.87 rows=1 width=109) (actual time=0.648..0.648 rows=0 loops=1)

72. 0.003 0.648 ↓ 0.0 0 1

Merge Join (cost=3.41..3.56 rows=1 width=105) (actual time=0.648..0.648 rows=0 loops=1)

  • Merge Cond: (ui_1.id = at.userid)
73. 0.014 0.014 ↑ 7,772.0 1 1

Index Scan using userinfo_pkey on userinfo ui_1 (cost=0.28..1,038.24 rows=7,772 width=20) (actual time=0.014..0.014 rows=1 loops=1)

74. 0.034 0.631 ↓ 0.0 0 1

Sort (cost=2.99..2.99 rows=1 width=89) (actual time=0.631..0.631 rows=0 loops=1)

  • Sort Key: at.userid
  • Sort Method: quicksort Memory: 25kB
75. 0.597 0.597 ↓ 0.0 0 1

Seq Scan on allocatedtime at (cost=0.00..2.98 rows=1 width=89) (actual time=0.597..0.597 rows=0 loops=1)

  • Filter: (totimestamputc IS NULL)
  • Rows Removed by Filter: 98
76. 0.000 0.000 ↓ 0.0 0

Index Scan using project_pkey on project pj (cost=0.29..8.30 rows=1 width=8) (never executed)

  • Index Cond: (at.projectid = id)
77. 270.564 4,231.555 ↑ 1.0 348,360 1

Subquery Scan on *SELECT* 3 (cost=397.96..39,659.11 rows=348,360 width=151) (actual time=10.694..4,231.555 rows=348,360 loops=1)

78. 388.553 3,960.991 ↑ 1.0 348,360 1

Hash Join (cost=397.96..36,175.51 rows=348,360 width=98) (actual time=10.692..3,960.991 rows=348,360 loops=1)

  • Hash Cond: (toff.userid = ui_2.id)
79. 458.053 3,562.837 ↑ 1.0 348,360 1

Merge Join (cost=1.09..30,988.69 rows=348,360 width=82) (actual time=1.044..3,562.837 rows=348,360 loops=1)

  • Merge Cond: (toff.id = toe.timeoffid)
80. 1,802.441 1,802.441 ↑ 1.0 264,415 1

Index Scan using timeoffs_pkey on timeoffs toff (cost=0.42..12,518.24 rows=264,415 width=50) (actual time=0.012..1,802.441 rows=264,415 loops=1)

81. 1,302.343 1,302.343 ↑ 1.0 348,360 1

Index Scan using ixtoetimeoffid on timeoffentries toe (cost=0.42..13,456.06 rows=348,360 width=40) (actual time=1.027..1,302.343 rows=348,360 loops=1)

82. 3.879 9.601 ↑ 1.0 7,772 1

Hash (cost=299.72..299.72 rows=7,772 width=20) (actual time=9.601..9.601 rows=7,772 loops=1)

  • Buckets: 8192 Batches: 1 Memory Usage: 471kB
83. 5.722 5.722 ↑ 1.0 7,772 1

Seq Scan on userinfo ui_2 (cost=0.00..299.72 rows=7,772 width=20) (actual time=0.007..5.722 rows=7,772 loops=1)

84. 730.781 9,722.859 ↑ 1.0 965,069 1

Subquery Scan on *SELECT* 4 (cost=162,497.19..299,547.75 rows=965,107 width=145) (actual time=4,387.588..9,722.859 rows=965,069 loops=1)

85. 1,212.335 8,992.078 ↑ 1.0 965,069 1

Hash Left Join (cost=162,497.19..289,896.68 rows=965,107 width=152) (actual time=4,387.587..8,992.078 rows=965,069 loops=1)

  • Hash Cond: (COALESCE(tp_start.projectid, tp_end.projectid) = proj_1.id)
86. 941.343 7,767.749 ↑ 1.0 965,069 1

Hash Join (cost=161,954.72..271,258.45 rows=965,107 width=148) (actual time=4,375.518..7,767.749 rows=965,069 loops=1)

  • Hash Cond: (punch_pair.userid = ui_3.id)
87. 1,714.485 6,816.931 ↑ 1.0 965,069 1

Hash Join (cost=161,557.85..257,591.36 rows=965,107 width=132) (actual time=4,365.979..6,816.931 rows=965,069 loops=1)

  • Hash Cond: (tp_start.id = punch_pair.starttimepunchid)
88. 737.366 737.366 ↑ 1.0 1,392,105 1

Seq Scan on timepunch tp_start (cost=0.00..34,396.05 rows=1,392,105 width=72) (actual time=0.601..737.366 rows=1,392,105 loops=1)

89. 574.032 4,365.080 ↑ 1.0 965,069 1

Hash (cost=135,355.61..135,355.61 rows=965,139 width=92) (actual time=4,365.080..4,365.080 rows=965,069 loops=1)

  • Buckets: 32768 Batches: 64 Memory Usage: 1626kB
90. 1,551.960 3,791.048 ↑ 1.0 965,100 1

Hash Join (cost=44,029.78..135,355.61 rows=965,139 width=92) (actual time=1,203.167..3,791.048 rows=965,100 loops=1)

  • Hash Cond: (tp_end.id = punch_pair.endtimepunchid)
91. 1,036.360 1,036.360 ↑ 1.0 1,392,105 1

Seq Scan on timepunch tp_end (cost=0.00..34,396.05 rows=1,392,105 width=72) (actual time=0.003..1,036.360 rows=1,392,105 loops=1)

92. 539.444 1,202.728 ↑ 1.0 965,100 1

Hash (cost=22,529.90..22,529.90 rows=965,590 width=52) (actual time=1,202.728..1,202.728 rows=965,100 loops=1)

  • Buckets: 65536 Batches: 32 Memory Usage: 2980kB
93. 663.284 663.284 ↑ 1.0 965,590 1

Seq Scan on denormalizedtimepunchpair punch_pair (cost=0.00..22,529.90 rows=965,590 width=52) (actual time=0.539..663.284 rows=965,590 loops=1)

94. 3.826 9.475 ↑ 1.0 7,772 1

Hash (cost=299.72..299.72 rows=7,772 width=20) (actual time=9.475..9.475 rows=7,772 loops=1)

  • Buckets: 8192 Batches: 1 Memory Usage: 471kB
95. 5.649 5.649 ↑ 1.0 7,772 1

Seq Scan on userinfo ui_3 (cost=0.00..299.72 rows=7,772 width=20) (actual time=0.006..5.649 rows=7,772 loops=1)

96. 5.231 11.994 ↑ 1.0 11,221 1

Hash (cost=402.21..402.21 rows=11,221 width=8) (actual time=11.994..11.994 rows=11,221 loops=1)

  • Buckets: 16384 Batches: 1 Memory Usage: 567kB
97. 6.763 6.763 ↑ 1.0 11,221 1

Seq Scan on project proj_1 (cost=0.00..402.21 rows=11,221 width=8) (actual time=0.022..6.763 rows=11,221 loops=1)

98. 0.008 0.021 ↑ 1.0 3 1

Hash (cost=1.03..1.03 rows=3 width=240) (actual time=0.021..0.021 rows=3 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
99. 0.013 0.013 ↑ 1.0 3 1

Seq Scan on activities activities1 (cost=0.00..1.03 rows=3 width=240) (actual time=0.012..0.013 rows=3 loops=1)

100. 5.770 11.888 ↑ 1.0 11,221 1

Hash (cost=402.21..402.21 rows=11,221 width=30) (actual time=11.888..11.888 rows=11,221 loops=1)

  • Buckets: 16384 Batches: 1 Memory Usage: 829kB
101. 6.118 6.118 ↑ 1.0 11,221 1

Seq Scan on project project2 (cost=0.00..402.21 rows=11,221 width=30) (actual time=0.005..6.118 rows=11,221 loops=1)

102. 2.731 5.578 ↑ 1.0 5,360 1

Hash (cost=126.60..126.60 rows=5,360 width=37) (actual time=5.578..5.578 rows=5,360 loops=1)

  • Buckets: 8192 Batches: 1 Memory Usage: 397kB
103. 2.847 2.847 ↑ 1.0 5,360 1

Seq Scan on task task3 (cost=0.00..126.60 rows=5,360 width=37) (actual time=0.006..2.847 rows=5,360 loops=1)

104. 0.004 0.019 ↑ 1.0 2 1

Hash (cost=1.02..1.02 rows=2 width=134) (actual time=0.019..0.019 rows=2 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
105. 0.015 0.015 ↑ 1.0 2 1

Seq Scan on billingrate billingrate4 (cost=0.00..1.02 rows=2 width=134) (actual time=0.013..0.015 rows=2 loops=1)

106. 0.005 0.008 ↑ 1.0 2 1

Hash (cost=1.02..1.02 rows=2 width=252) (actual time=0.008..0.008 rows=2 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
107. 0.003 0.003 ↑ 1.0 2 1

Seq Scan on breaktype breaktype5 (cost=0.00..1.02 rows=2 width=252) (actual time=0.003..0.003 rows=2 loops=1)

108. 0.025 0.049 ↑ 1.0 43 1

Hash (cost=1.43..1.43 rows=43 width=520) (actual time=0.049..0.049 rows=43 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 11kB
109. 0.024 0.024 ↑ 1.0 43 1

Seq Scan on timeoffcode timeoffcode6 (cost=0.00..1.43 rows=43 width=520) (actual time=0.007..0.024 rows=43 loops=1)

110. 1.782 3.429 ↑ 1.0 3,448 1

Hash (cost=94.48..94.48 rows=3,448 width=45) (actual time=3.429..3.429 rows=3,448 loops=1)

  • Buckets: 4096 Batches: 1 Memory Usage: 300kB
111. 1.647 1.647 ↑ 1.0 3,448 1

Seq Scan on clients clients7 (cost=0.00..94.48 rows=3,448 width=45) (actual time=0.005..1.647 rows=3,448 loops=1)