explain.depesz.com

PostgreSQL's explain analyze made readable

Result: IbcS

Settings
# exclusive inclusive rows x rows loops node
1. 250.403 1,659.434 ↑ 690.0 1,351 1

Nested Loop Left Join (cost=1,672.64..4,380,813.63 rows=932,190 width=284) (actual time=38.824..1,659.434 rows=1,351 loops=1)

  • Join Filter: (te.id = te_isbillable.timeentryid)
2. 24.333 1,404.978 ↑ 690.0 1,351 1

Nested Loop Left Join (cost=1,672.64..4,338,653.69 rows=932,190 width=283) (actual time=37.057..1,404.978 rows=1,351 loops=1)

  • Join Filter: (te_client.uri = ((('urn:replicon-tenant:'::text || si.tenantslug) || ':client:'::text) || (client.id)::text))
  • Rows Removed by Join Filter: 5404
3. 7.143 1,367.135 ↑ 690.0 1,351 1

Nested Loop Left Join (cost=1,672.64..4,236,111.74 rows=932,190 width=350) (actual time=36.995..1,367.135 rows=1,351 loops=1)

  • Join Filter: (te.id = te_client.timeentryid)
4. 45.849 1,354.588 ↑ 690.0 1,351 1

Nested Loop Left Join (cost=1,672.64..4,221,917.50 rows=932,190 width=279) (actual time=34.796..1,354.588 rows=1,351 loops=1)

  • Join Filter: (te_timeofftype.uri = ((('urn:replicon-tenant:'::text || si.tenantslug) || ':time-off-type:'::text) || (toc.id)::text))
  • Rows Removed by Join Filter: 12159
5. 8.368 1,281.719 ↑ 690.0 1,351 1

Nested Loop Left Join (cost=1,672.64..3,991,199.36 rows=932,190 width=346) (actual time=34.688..1,281.719 rows=1,351 loops=1)

  • Join Filter: (te.id = te_timeofftype.timeentryid)
6. 18.055 1,269.298 ↑ 690.0 1,351 1

Nested Loop Left Join (cost=1,672.64..3,977,005.12 rows=932,190 width=275) (actual time=32.537..1,269.298 rows=1,351 loops=1)

  • Join Filter: (te_breaktype.uri = ((('urn:replicon-tenant:'::text || si.tenantslug) || ':break-type:'::text) || (bt.id)::text))
  • Rows Removed by Join Filter: 2579
7. 5.876 1,243.137 ↑ 690.0 1,351 1

Hash Left Join (cost=1,672.64..3,925,733.64 rows=932,190 width=330) (actual time=32.493..1,243.137 rows=1,351 loops=1)

  • Hash Cond: (te.id = te_breaktype.timeentryid)
8. 7.230 1,234.650 ↑ 690.0 1,351 1

Hash Left Join (cost=1,459.71..3,915,350.12 rows=932,190 width=259) (actual time=29.865..1,234.650 rows=1,351 loops=1)

  • Hash Cond: (te.id = te_billingrate.timeentryid)
9. 577.673 1,221.195 ↑ 690.0 1,351 1

Nested Loop Left Join (cost=1,236.40..3,899,222.31 rows=932,190 width=188) (actual time=23.623..1,221.195 rows=1,351 loops=1)

  • Join Filter: (te_task.uri = ((('urn:replicon-tenant:'::text || si.tenantslug) || ':task:'::text) || (task.id)::text))
  • Rows Removed by Join Filter: 169252
10. 6.194 303.070 ↑ 690.0 1,351 1

Hash Left Join (cost=1,236.40..669,180.38 rows=932,190 width=255) (actual time=22.473..303.070 rows=1,351 loops=1)

  • Hash Cond: (te.id = te_task.timeentryid)
11. 115.916 290.588 ↑ 690.0 1,351 1

Nested Loop Left Join (cost=1,012.84..652,914.32 rows=932,190 width=184) (actual time=16.167..290.588 rows=1,351 loops=1)

  • Join Filter: (te_project.uri = ((('urn:replicon-tenant:'::text || si.tenantslug) || ':project:'::text) || (proj.id)::text))
  • Rows Removed by Join Filter: 33280
12. 6.214 105.771 ↑ 690.0 1,351 1

Hash Join (cost=1,012.84..12,031.38 rows=932,190 width=247) (actual time=15.919..105.771 rows=1,351 loops=1)

  • Hash Cond: (te.userid = ui.id)
13. 6.017 99.164 ↑ 1.0 1,351 1

Hash Left Join (cost=477.06..1,005.09 rows=1,351 width=183) (actual time=15.395..99.164 rows=1,351 loops=1)

  • Hash Cond: (te.id = te_project.timeentryid)
14. 38.195 88.851 ↑ 1.0 1,351 1

Nested Loop Left Join (cost=259.49..769.06 rows=1,351 width=112) (actual time=11.081..88.851 rows=1,351 loops=1)

  • Join Filter: (te_activity.uri = ((('urn:replicon-tenant:'::text || si.tenantslug) || ':activity:'::text) || (act.id)::text))
  • Rows Removed by Join Filter: 8938
15. 5.067 29.040 ↑ 1.0 1,351 1

Nested Loop (cost=259.49..507.90 rows=1,351 width=179) (actual time=11.007..29.040 rows=1,351 loops=1)

16. 0.008 0.008 ↑ 1.0 1 1

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

17. 5.835 23.965 ↑ 1.0 1,351 1

Hash Left Join (cost=259.49..493.38 rows=1,351 width=147) (actual time=10.995..23.965 rows=1,351 loops=1)

  • Hash Cond: (te.id = te_comment.timeentryid)
18. 4.656 15.294 ↑ 1.0 1,351 1

Hash Right Join (cost=45.77..264.30 rows=1,351 width=131) (actual time=8.137..15.294 rows=1,351 loops=1)

  • Hash Cond: (te_activity.timeentryid = te.id)
19. 3.318 3.318 ↑ 1.0 519 1

Seq Scan on timeentrymetadata te_activity (cost=0.00..211.39 rows=519 width=87) (actual time=0.793..3.318 rows=519 loops=1)

  • Filter: (key = 'urn:replicon:time-entry-metadata-key:activity'::text)
  • Rows Removed by Filter: 3832
20. 4.158 7.320 ↑ 1.0 1,351 1

Hash (cost=28.89..28.89 rows=1,351 width=60) (actual time=7.320..7.320 rows=1,351 loops=1)

  • Buckets: 2048 Batches: 1 Memory Usage: 111kB
21. 3.162 3.162 ↑ 1.0 1,351 1

Seq Scan on timeentry te (cost=0.00..28.89 rows=1,351 width=60) (actual time=0.015..3.162 rows=1,351 loops=1)

  • Filter: ((timeallocationtype <> 2) OR (timeallocationtype IS NULL))
22. 0.471 2.836 ↑ 1.0 186 1

Hash (cost=211.39..211.39 rows=186 width=32) (actual time=2.836..2.836 rows=186 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 22kB
23. 2.365 2.365 ↑ 1.0 186 1

Seq Scan on timeentrymetadata te_comment (cost=0.00..211.39 rows=186 width=32) (actual time=0.035..2.365 rows=186 loops=1)

  • Filter: (key = 'urn:replicon:time-entry-metadata-key:comments'::text)
  • Rows Removed by Filter: 4165
24. 21.598 21.616 ↑ 1.0 7 1,351

Materialize (cost=0.00..1.10 rows=7 width=4) (actual time=0.002..0.016 rows=7 loops=1,351)

25. 0.018 0.018 ↑ 1.0 7 1

Seq Scan on activities act (cost=0.00..1.07 rows=7 width=4) (actual time=0.005..0.018 rows=7 loops=1)

26. 1.265 4.296 ↑ 1.0 495 1

Hash (cost=211.39..211.39 rows=495 width=87) (actual time=4.296..4.296 rows=495 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 62kB
27. 3.031 3.031 ↑ 1.0 495 1

Seq Scan on timeentrymetadata te_project (cost=0.00..211.39 rows=495 width=87) (actual time=0.669..3.031 rows=495 loops=1)

  • Filter: (key = 'urn:replicon:time-entry-metadata-key:project'::text)
  • Rows Removed by Filter: 3856
28. 0.077 0.393 ↑ 690.0 30 1

Hash (cost=277.02..277.02 rows=20,700 width=68) (actual time=0.393..0.393 rows=30 loops=1)

  • Buckets: 32768 Batches: 1 Memory Usage: 259kB
29. 0.113 0.316 ↑ 690.0 30 1

Nested Loop (cost=0.00..277.02 rows=20,700 width=68) (actual time=0.026..0.316 rows=30 loops=1)

30. 0.007 0.007 ↑ 690.0 1 1

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

31. 0.116 0.196 ↑ 1.0 30 1

Materialize (cost=0.00..1.45 rows=30 width=36) (actual time=0.015..0.196 rows=30 loops=1)

32. 0.080 0.080 ↑ 1.0 30 1

Seq Scan on userinfo ui (cost=0.00..1.30 rows=30 width=36) (actual time=0.007..0.080 rows=30 loops=1)

33. 68.843 68.901 ↑ 1.0 25 1,351

Materialize (cost=0.00..2.38 rows=25 width=8) (actual time=0.002..0.051 rows=25 loops=1,351)

34. 0.058 0.058 ↑ 1.0 25 1

Seq Scan on project proj (cost=0.00..2.25 rows=25 width=8) (actual time=0.007..0.058 rows=25 loops=1)

35. 2.344 6.288 ↑ 1.0 974 1

Hash (cost=211.39..211.39 rows=974 width=87) (actual time=6.288..6.288 rows=974 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 112kB
36. 3.944 3.944 ↑ 1.0 974 1

Seq Scan on timeentrymetadata te_task (cost=0.00..211.39 rows=974 width=87) (actual time=0.721..3.944 rows=974 loops=1)

  • Filter: (key = 'urn:replicon:time-entry-metadata-key:task'::text)
  • Rows Removed by Filter: 3377
37. 340.196 340.452 ↑ 1.0 126 1,351

Materialize (cost=0.00..3.89 rows=126 width=4) (actual time=0.002..0.252 rows=126 loops=1,351)

38. 0.256 0.256 ↑ 1.0 126 1

Seq Scan on task (cost=0.00..3.26 rows=126 width=4) (actual time=0.010..0.256 rows=126 loops=1)

39. 2.328 6.225 ↑ 1.0 954 1

Hash (cost=211.39..211.39 rows=954 width=87) (actual time=6.225..6.225 rows=954 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 134kB
40. 3.897 3.897 ↑ 1.0 954 1

Seq Scan on timeentrymetadata te_billingrate (cost=0.00..211.39 rows=954 width=87) (actual time=0.013..3.897 rows=954 loops=1)

  • Filter: (key = 'urn:replicon:time-entry-metadata-key:billing-rate'::text)
  • Rows Removed by Filter: 3397
41. 0.362 2.611 ↑ 1.0 123 1

Hash (cost=211.39..211.39 rows=123 width=87) (actual time=2.611..2.611 rows=123 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 26kB
42. 2.249 2.249 ↑ 1.0 123 1

Seq Scan on timeentrymetadata te_breaktype (cost=0.00..211.39 rows=123 width=87) (actual time=0.806..2.249 rows=123 loops=1)

  • Filter: (key = 'urn:replicon:time-entry-metadata-key:break-type'::text)
  • Rows Removed by Filter: 4228
43. 8.098 8.106 ↑ 1.0 2 1,351

Materialize (cost=0.00..1.03 rows=2 width=16) (actual time=0.002..0.006 rows=2 loops=1,351)

44. 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.004..0.008 rows=2 loops=1)

45. 1.915 4.053 ↓ 0.0 0 1,351

Materialize (cost=0.00..211.39 rows=1 width=87) (actual time=0.003..0.003 rows=0 loops=1,351)

46. 2.138 2.138 ↓ 0.0 0 1

Seq Scan on timeentrymetadata te_timeofftype (cost=0.00..211.39 rows=1 width=87) (actual time=2.138..2.138 rows=0 loops=1)

  • Filter: (key = 'urn:replicon:time-entry-metadata-key:time-off-type'::text)
  • Rows Removed by Filter: 4351
47. 26.998 27.020 ↑ 1.0 9 1,351

Materialize (cost=0.00..1.14 rows=9 width=4) (actual time=0.002..0.020 rows=9 loops=1,351)

48. 0.022 0.022 ↑ 1.0 9 1

Seq Scan on timeoffcode toc (cost=0.00..1.09 rows=9 width=4) (actual time=0.005..0.022 rows=9 loops=1)

49. 3.217 5.404 ↓ 0.0 0 1,351

Materialize (cost=0.00..211.39 rows=1 width=87) (actual time=0.004..0.004 rows=0 loops=1,351)

50. 2.187 2.187 ↓ 0.0 0 1

Seq Scan on timeentrymetadata te_client (cost=0.00..211.39 rows=1 width=87) (actual time=2.187..2.187 rows=0 loops=1)

  • Filter: (key = 'urn:replicon:time-entry-metadata-key:client'::text)
  • Rows Removed by Filter: 4351
51. 13.497 13.510 ↑ 1.0 4 1,351

Materialize (cost=0.00..1.06 rows=4 width=4) (actual time=0.002..0.010 rows=4 loops=1,351)

52. 0.013 0.013 ↑ 1.0 4 1

Seq Scan on clients client (cost=0.00..1.04 rows=4 width=4) (actual time=0.005..0.013 rows=4 loops=1)

53. 2.311 4.053 ↓ 0.0 0 1,351

Materialize (cost=0.00..211.39 rows=1 width=17) (actual time=0.003..0.003 rows=0 loops=1,351)

54. 1.742 1.742 ↓ 0.0 0 1

Seq Scan on timeentrymetadata te_isbillable (cost=0.00..211.39 rows=1 width=17) (actual time=1.742..1.742 rows=0 loops=1)

  • Filter: (key = 'urn:replicon:time-entry-metadata-key:is-billable'::text)
  • Rows Removed by Filter: 4351