explain.depesz.com

PostgreSQL's explain analyze made readable

Result: QY5x

Settings
# exclusive inclusive rows x rows loops node
1. 9,594.256 45,142.374 ↓ 2.7 1,583,781 1

Merge Left Join (cost=3,319,210.88..3,821,479.11 rows=590,704 width=108) (actual time=29,171.477..45,142.374 rows=1,583,781 loops=1)

  • Merge Cond: (items_1.project_plan_id = pa.project_plan_id)
  • Join Filter: ((items_1.date >= pa.start_date) AND (items_1.date <= pa.end_date) AND ((pa.plan_row_uuid = items_1.plan_row_uuid) OR (items_1.plan_row_uuid IS NULL)) AND ((pa.user_id = items_1.user_id) OR (items_1.user_id IS NULL)) AND ((pa.epic_id = items_1.epic_id) OR ((items_1.reportable_type = 'PlanItem'::text) AND (items_1.epic_id IS NULL)) OR ((items_1.reportable_type = 'TimeLog'::text) AND (pa.epic_id IS NULL))))
  • Rows Removed by Join Filter: 43,669,087
2.          

CTE items_1

3. 204.384 22,577.563 ↑ 1.1 1,597,377 1

Append (cost=2,460,888.43..2,704,082.53 rows=1,754,565 width=116) (actual time=1,824.574..22,577.563 rows=1,597,377 loops=1)

4. 324.846 21,898.797 ↑ 1.2 893,416 1

Result (cost=2,460,888.43..2,657,049.64 rows=1,050,604 width=116) (actual time=1,824.574..21,898.797 rows=893,416 loops=1)

5. 110.643 21,573.951 ↑ 1.2 893,416 1

Append (cost=2,460,888.43..2,643,917.09 rows=1,050,604 width=140) (actual time=1,824.570..21,573.951 rows=893,416 loops=1)

6. 128.748 2,916.562 ↑ 1.5 661,732 1

Subquery Scan on *SELECT* 1 (cost=2,460,888.43..2,505,659.34 rows=968,516 width=114) (actual time=1,824.570..2,916.562 rows=661,732 loops=1)

7. 188.939 2,787.814 ↑ 1.5 661,732 1

Merge Left Join (cost=2,460,888.43..2,491,131.60 rows=968,516 width=134) (actual time=1,824.568..2,787.814 rows=661,732 loops=1)

  • Merge Cond: ((generate_series.generate_series = summary_vacations_by_dates.date) AND (projects_1.account_id = summary_vacations_by_dates.account_id) AND (plan_rows_1.user_id = summary_vacations_by_dates.user_id))
8. 207.046 2,474.297 ↑ 1.5 661,732 1

Merge Anti Join (cost=1,167,438.64..1,180,748.02 rows=968,516 width=66) (actual time=1,824.565..2,474.297 rows=661,732 loops=1)

  • Merge Cond: ((generate_series.generate_series = non_working_intervals_by_dates_1.date) AND (projects_1.account_id = non_working_intervals_by_dates_1.account_id) AND (plan_rows_1.user_id = non_working_intervals_by_dates_1.user_id))
9. 1,562.529 2,219.570 ↑ 1.8 669,378 1

Sort (cost=1,161,420.65..1,164,487.65 rows=1,226,800 width=66) (actual time=1,824.561..2,219.570 rows=669,378 loops=1)

  • Sort Key: generate_series.generate_series, projects_1.account_id, plan_rows_1.user_id
  • Sort Method: external merge Disk: 52,024kB
10. 133.862 657.041 ↑ 1.8 669,378 1

Nested Loop (cost=1,991.21..936,712.49 rows=1,226,800 width=66) (actual time=24.182..657.041 rows=669,378 loops=1)

11. 13.212 93.087 ↑ 1.0 47,788 1

Hash Left Join (cost=1,991.21..4,344.48 rows=49,072 width=66) (actual time=24.159..93.087 rows=47,788 loops=1)

  • Hash Cond: (project_plans.project_id = projects_1.id)
12. 14.419 77.955 ↑ 1.0 47,788 1

Hash Left Join (cost=1,762.44..3,986.81 rows=49,072 width=62) (actual time=22.200..77.955 rows=47,788 loops=1)

  • Hash Cond: (plan_items.project_plan_id = project_plans.id)
13. 28.055 61.908 ↑ 1.0 47,788 1

Hash Join (cost=1,560.41..3,655.88 rows=49,072 width=58) (actual time=20.540..61.908 rows=47,788 loops=1)

  • Hash Cond: (plan_items.plan_row_uuid = plan_rows_1.uuid)
14. 13.606 13.606 ↓ 1.0 55,664 1

Seq Scan on plan_items (cost=0.00..1,396.10 rows=55,639 width=46) (actual time=0.012..13.606 rows=55,664 loops=1)

  • Filter: (utilization > '0'::numeric)
  • Rows Removed by Filter: 264
15. 10.859 20.247 ↑ 1.0 42,344 1

Hash (cost=1,030.06..1,030.06 rows=42,428 width=28) (actual time=20.247..20.247 rows=42,344 loops=1)

  • Buckets: 65,536 Batches: 1 Memory Usage: 2,816kB
16. 9.388 9.388 ↑ 1.0 42,344 1

Seq Scan on plan_rows plan_rows_1 (cost=0.00..1,030.06 rows=42,428 width=28) (actual time=0.008..9.388 rows=42,344 loops=1)

  • Filter: (user_id IS NOT NULL)
  • Rows Removed by Filter: 5,762
17. 0.506 1.628 ↑ 1.0 2,851 1

Hash (cost=166.39..166.39 rows=2,851 width=8) (actual time=1.628..1.628 rows=2,851 loops=1)

  • Buckets: 4,096 Batches: 1 Memory Usage: 144kB
18. 1.122 1.122 ↑ 1.0 2,851 1

Seq Scan on project_plans (cost=0.00..166.39 rows=2,851 width=8) (actual time=0.010..1.122 rows=2,851 loops=1)

  • Filter: active
  • Rows Removed by Filter: 3,188
19. 0.996 1.920 ↑ 1.0 5,812 1

Hash (cost=156.12..156.12 rows=5,812 width=8) (actual time=1.920..1.920 rows=5,812 loops=1)

  • Buckets: 8,192 Batches: 1 Memory Usage: 292kB
20. 0.924 0.924 ↑ 1.0 5,812 1

Seq Scan on projects projects_1 (cost=0.00..156.12 rows=5,812 width=8) (actual time=0.006..0.924 rows=5,812 loops=1)

21. 430.092 430.092 ↑ 1.8 14 47,788

Function Scan on generate_series (cost=0.01..18.76 rows=25 width=8) (actual time=0.004..0.009 rows=14 loops=47,788)

  • Filter: (date_part('dow'::text, generate_series) = ANY ('{1,2,3,4,5}'::double precision[]))
  • Rows Removed by Filter: 5
22. 38.101 47.681 ↑ 1.0 59,712 1

Sort (cost=6,017.99..6,167.27 rows=59,712 width=12) (actual time=39.144..47.681 rows=59,712 loops=1)

  • Sort Key: non_working_intervals_by_dates_1.date, non_working_intervals_by_dates_1.account_id, non_working_intervals_by_dates_1.user_id
  • Sort Method: external merge Disk: 1,288kB
23. 9.580 9.580 ↑ 1.0 59,712 1

Seq Scan on non_working_intervals_by_dates non_working_intervals_by_dates_1 (cost=0.00..1,281.12 rows=59,712 width=12) (actual time=0.008..9.580 rows=59,712 loops=1)

24. 6.282 124.578 ↑ 15.5 37,179 1

Materialize (cost=1,293,449.79..1,296,324.79 rows=575,000 width=44) (actual time=115.130..124.578 rows=37,179 loops=1)

25. 26.786 118.296 ↑ 17.8 32,265 1

Sort (cost=1,293,449.79..1,294,887.29 rows=575,000 width=44) (actual time=115.127..118.296 rows=32,265 loops=1)

  • Sort Key: summary_vacations_by_dates.date, summary_vacations_by_dates.account_id, summary_vacations_by_dates.user_id
  • Sort Method: quicksort Memory: 2,844kB
26. 4.969 91.510 ↑ 17.8 32,266 1

Subquery Scan on summary_vacations_by_dates (cost=1,151,985.56..1,220,752.83 rows=575,000 width=44) (actual time=63.870..91.510 rows=32,266 loops=1)

27. 19.647 86.541 ↑ 17.8 32,266 1

GroupAggregate (cost=1,151,985.56..1,215,002.83 rows=575,000 width=52) (actual time=63.869..86.541 rows=32,266 loops=1)

  • Group Key: generate_series_1.generate_series, staff_memberships_1.user_id, staff_memberships_1.account_id
28. 17.180 66.894 ↑ 134.2 32,422 1

Sort (cost=1,151,985.56..1,162,864.01 rows=4,351,382 width=21) (actual time=63.857..66.894 rows=32,422 loops=1)

  • Sort Key: generate_series_1.generate_series, staff_memberships_1.user_id, staff_memberships_1.account_id
  • Sort Method: quicksort Memory: 2,855kB
29. 11.742 49.714 ↑ 134.2 32,422 1

Hash Join (cost=138.05..493,700.50 rows=4,351,382 width=21) (actual time=1.647..49.714 rows=32,422 loops=1)

  • Hash Cond: (vacations.staff_membership_id = staff_memberships_1.id)
  • Join Filter: ((generate_series_1.generate_series >= staff_memberships_1.joined_at) AND ((staff_memberships_1.archived_at IS NULL) OR (generate_series_1.generate_series <= staff_memberships_1.archived_at)))
  • Rows Removed by Join Filter: 1,908
30. 12.243 36.356 ↑ 634.8 34,330 1

Nested Loop (cost=0.01..436,340.93 rows=21,792,000 width=17) (actual time=0.021..36.356 rows=34,330 loops=1)

31. 2.321 2.321 ↑ 1.0 21,792 1

Seq Scan on vacations (cost=0.00..500.92 rows=21,792 width=17) (actual time=0.008..2.321 rows=21,792 loops=1)

32. 21.792 21.792 ↑ 500.0 2 21,792

Function Scan on generate_series generate_series_1 (cost=0.01..10.01 rows=1,000 width=8) (actual time=0.001..0.001 rows=2 loops=21,792)

33. 0.832 1.616 ↑ 1.0 4,002 1

Hash (cost=88.02..88.02 rows=4,002 width=20) (actual time=1.616..1.616 rows=4,002 loops=1)

  • Buckets: 4,096 Batches: 1 Memory Usage: 229kB
34. 0.784 0.784 ↑ 1.0 4,002 1

Seq Scan on staff_memberships staff_memberships_1 (cost=0.00..88.02 rows=4,002 width=20) (actual time=0.006..0.784 rows=4,002 loops=1)

35. 111.168 18,546.746 ↓ 2.8 231,684 1

Hash Left Join (cost=2,062.19..132,183.85 rows=82,088 width=114) (actual time=24.933..18,546.746 rows=231,684 loops=1)

  • Hash Cond: (project_plans_1.project_id = projects_1_1.id)
  • Filter: (NOT (SubPlan 1))
  • Rows Removed by Filter: 770
36. 53.939 301.906 ↓ 1.4 232,454 1

Nested Loop (cost=1,833.42..128,784.81 rows=164,175 width=58) (actual time=22.635..301.906 rows=232,454 loops=1)

37. 3.765 66.819 ↓ 1.2 7,876 1

Hash Left Join (cost=1,833.41..4,011.80 rows=6,567 width=58) (actual time=22.613..66.819 rows=7,876 loops=1)

  • Hash Cond: (plan_items_1.project_plan_id = project_plans_1.id)
38. 26.792 61.342 ↓ 1.2 7,876 1

Hash Left Join (cost=1,631.38..3,792.52 rows=6,567 width=54) (actual time=20.874..61.342 rows=7,876 loops=1)

  • Hash Cond: (plan_items_1.plan_row_uuid = plan_rows_2.uuid)
  • Filter: (plan_rows_2.user_id IS NULL)
  • Rows Removed by Filter: 47,788
39. 13.938 13.938 ↓ 1.0 55,664 1

Seq Scan on plan_items plan_items_1 (cost=0.00..1,396.10 rows=55,639 width=46) (actual time=0.017..13.938 rows=55,664 loops=1)

  • Filter: (utilization > '0'::numeric)
  • Rows Removed by Filter: 264
40. 11.437 20.612 ↑ 1.0 48,106 1

Hash (cost=1,030.06..1,030.06 rows=48,106 width=28) (actual time=20.612..20.612 rows=48,106 loops=1)

  • Buckets: 65,536 Batches: 1 Memory Usage: 3,117kB
41. 9.175 9.175 ↑ 1.0 48,106 1

Seq Scan on plan_rows plan_rows_2 (cost=0.00..1,030.06 rows=48,106 width=28) (actual time=0.006..9.175 rows=48,106 loops=1)

42. 0.510 1.712 ↑ 1.0 2,851 1

Hash (cost=166.39..166.39 rows=2,851 width=8) (actual time=1.712..1.712 rows=2,851 loops=1)

  • Buckets: 4,096 Batches: 1 Memory Usage: 144kB
43. 1.202 1.202 ↑ 1.0 2,851 1

Seq Scan on project_plans project_plans_1 (cost=0.00..166.39 rows=2,851 width=8) (actual time=0.010..1.202 rows=2,851 loops=1)

  • Filter: active
  • Rows Removed by Filter: 3,188
44. 181.148 181.148 ↓ 1.2 30 7,876

Function Scan on generate_series generate_series_2 (cost=0.01..18.76 rows=25 width=8) (actual time=0.008..0.023 rows=30 loops=7,876)

  • Filter: (date_part('dow'::text, generate_series) = ANY ('{1,2,3,4,5}'::double precision[]))
  • Rows Removed by Filter: 12
45. 1.010 2.260 ↑ 1.0 5,812 1

Hash (cost=156.12..156.12 rows=5,812 width=12) (actual time=2.260..2.260 rows=5,812 loops=1)

  • Buckets: 8,192 Batches: 1 Memory Usage: 314kB
46. 1.250 1.250 ↑ 1.0 5,812 1

Seq Scan on projects projects_1_1 (cost=0.00..156.12 rows=5,812 width=12) (actual time=0.006..1.250 rows=5,812 loops=1)

47.          

SubPlan (for Hash Left Join)

48. 26.200 18,131.412 ↓ 0.0 0 232,454

Nested Loop (cost=0.69..90.49 rows=1 width=0) (actual time=0.078..0.078 rows=0 loops=232,454)

  • Join Filter: (non_working_intervals_by_dates.office_id = clients.office_id)
  • Rows Removed by Join Filter: 1
49. 232.454 232.454 ↓ 0.0 0 232,454

Index Scan using clients_pkey on clients (cost=0.28..8.29 rows=1 width=4) (actual time=0.001..0.001 rows=0 loops=232,454)

  • Index Cond: (projects_1_1.client_id = id)
50. 17,872.758 17,872.758 ↑ 3.7 3 58,986

Index Scan using non_working_intervals_by_dates_idx on non_working_intervals_by_dates (cost=0.41..82.06 rows=11 width=4) (actual time=0.294..0.303 rows=3 loops=58,986)

  • Index Cond: ((projects_1_1.account_id = account_id) AND (generate_series_2.generate_series = date))
51. 342.795 474.382 ↑ 1.0 703,961 1

Hash Join (cost=1,826.58..31,220.45 rows=703,961 width=116) (actual time=18.278..474.382 rows=703,961 loops=1)

  • Hash Cond: (time_logs.epic_id = epics.id)
52. 113.343 113.343 ↑ 1.0 703,961 1

Seq Scan on time_logs (cost=0.00..16,194.61 rows=703,961 width=28) (actual time=0.008..113.343 rows=703,961 loops=1)

53. 5.716 18.244 ↑ 1.0 26,435 1

Hash (cost=1,496.14..1,496.14 rows=26,435 width=16) (actual time=18.244..18.244 rows=26,435 loops=1)

  • Buckets: 32,768 Batches: 1 Memory Usage: 1,381kB
54. 8.104 12.528 ↑ 1.0 26,435 1

Hash Left Join (cost=202.03..1,496.14 rows=26,435 width=16) (actual time=1.593..12.528 rows=26,435 loops=1)

  • Hash Cond: (epics.project_id = general_epic_plans.project_id)
  • Join Filter: (epics.project_plan_id IS NULL)
  • Rows Removed by Join Filter: 11,144
55. 2.866 2.866 ↑ 1.0 26,435 1

Seq Scan on epics (cost=0.00..619.35 rows=26,435 width=12) (actual time=0.005..2.866 rows=26,435 loops=1)

56. 0.440 1.558 ↑ 1.0 2,851 1

Hash (cost=166.39..166.39 rows=2,851 width=8) (actual time=1.558..1.558 rows=2,851 loops=1)

  • Buckets: 4,096 Batches: 1 Memory Usage: 144kB
57. 1.118 1.118 ↑ 1.0 2,851 1

Seq Scan on project_plans general_epic_plans (cost=0.00..166.39 rows=2,851 width=8) (actual time=0.006..1.118 rows=2,851 loops=1)

  • Filter: active
  • Rows Removed by Filter: 3,188
58. 1,491.806 29,217.574 ↓ 2.7 1,583,781 1

Sort (cost=605,562.38..607,039.14 rows=590,704 width=149) (actual time=28,935.995..29,217.574 rows=1,583,781 loops=1)

  • Sort Key: items_1.project_plan_id
  • Sort Method: external merge Disk: 165,176kB
59. 424.258 27,725.768 ↓ 2.7 1,583,781 1

Hash Left Join (cost=438,661.19..460,100.27 rows=590,704 width=149) (actual time=26,075.548..27,725.768 rows=1,583,781 loops=1)

  • Hash Cond: (projects.account_id = accounts_1.id)
  • Filter: ((items_1.vacation_user_id IS NULL) OR (items_1.vacation_hours < (COALESCE(staff_membership_activity_links.capacity, accounts_1.default_capacity))::double precision))
  • Rows Removed by Filter: 13,596
60. 689.883 27,301.328 ↑ 1.1 1,597,377 1

Merge Left Join (cost=438,642.22..455,395.65 rows=1,754,565 width=144) (actual time=26,075.353..27,301.328 rows=1,597,377 loops=1)

  • Merge Cond: ((projects.account_id = staff_memberships.account_id) AND (items_1.user_id = staff_memberships.user_id))
  • Join Filter: ((items_1.date >= (COALESCE(staff_membership_activity_links.start_date, staff_memberships.joined_at))) AND (items_1.date <= (COALESCE(lag((staff_membership_activity_links.start_date - 1), 1) OVER (?), staff_memberships.archived_at, '3000-01-01'::date))))
  • Rows Removed by Join Filter: 258,899
61. 2,120.883 26,507.105 ↑ 1.1 1,597,377 1

Sort (cost=437,795.08..442,181.49 rows=1,754,565 width=120) (actual time=26,062.222..26,507.105 rows=1,597,377 loops=1)

  • Sort Key: projects.account_id, items_1.user_id
  • Sort Method: external merge Disk: 130,936kB
62. 607.038 24,386.222 ↑ 1.1 1,597,377 1

Hash Left Join (cost=228.77..39,929.16 rows=1,754,565 width=120) (actual time=1,826.164..24,386.222 rows=1,597,377 loops=1)

  • Hash Cond: (items_1.project_id = projects.id)
63. 23,777.608 23,777.608 ↑ 1.1 1,597,377 1

CTE Scan on items_1 (cost=0.00..35,091.30 rows=1,754,565 width=116) (actual time=1,824.578..23,777.608 rows=1,597,377 loops=1)

64. 0.786 1.576 ↑ 1.0 5,812 1

Hash (cost=156.12..156.12 rows=5,812 width=8) (actual time=1.576..1.576 rows=5,812 loops=1)

  • Buckets: 8,192 Batches: 1 Memory Usage: 292kB
65. 0.790 0.790 ↑ 1.0 5,812 1

Seq Scan on projects (cost=0.00..156.12 rows=5,812 width=8) (actual time=0.010..0.790 rows=5,812 loops=1)

66. 89.299 104.340 ↓ 295.4 1,255,026 1

Materialize (cost=847.14..942.74 rows=4,249 width=40) (actual time=13.123..104.340 rows=1,255,026 loops=1)

67. 1.394 15.041 ↑ 1.0 4,218 1

Unique (cost=847.14..889.63 rows=4,249 width=65) (actual time=13.120..15.041 rows=4,218 loops=1)

68. 3.507 13.647 ↑ 1.0 4,246 1

Sort (cost=847.14..857.76 rows=4,249 width=65) (actual time=13.118..13.647 rows=4,246 loops=1)

  • Sort Key: staff_memberships.account_id, staff_memberships.user_id, (COALESCE(staff_membership_activity_links.start_date, staff_memberships.joined_at)), (COALESCE(lag((staff_membership_activity_links.start_date - 1), 1) OVER (?), staff_memberships.archived_at, '3000-01-01'::date)) DESC
  • Sort Method: quicksort Memory: 790kB
69. 3.414 10.140 ↑ 1.0 4,249 1

WindowAgg (cost=484.85..591.08 rows=4,249 width=65) (actual time=6.308..10.140 rows=4,249 loops=1)

70. 2.394 6.726 ↑ 1.0 4,249 1

Sort (cost=484.85..495.47 rows=4,249 width=56) (actual time=6.291..6.726 rows=4,249 loops=1)

  • Sort Key: staff_membership_activity_links.staff_membership_id, staff_membership_activity_links.start_date DESC NULLS LAST
  • Sort Method: quicksort Memory: 790kB
71. 1.818 4.332 ↑ 1.0 4,249 1

Hash Join (cost=138.05..228.79 rows=4,249 width=56) (actual time=2.064..4.332 rows=4,249 loops=1)

  • Hash Cond: (staff_membership_activity_links.staff_membership_id = staff_memberships.id)
72. 0.475 0.475 ↑ 1.0 4,256 1

Seq Scan on staff_membership_activity_links (cost=0.00..79.56 rows=4,256 width=28) (actual time=0.013..0.475 rows=4,256 loops=1)

73. 1.012 2.039 ↑ 1.0 4,002 1

Hash (cost=88.02..88.02 rows=4,002 width=32) (actual time=2.039..2.039 rows=4,002 loops=1)

  • Buckets: 4,096 Batches: 1 Memory Usage: 276kB
74. 1.027 1.027 ↑ 1.0 4,002 1

Seq Scan on staff_memberships (cost=0.00..88.02 rows=4,002 width=32) (actual time=0.007..1.027 rows=4,002 loops=1)

75. 0.074 0.182 ↑ 1.0 354 1

Hash (cost=14.54..14.54 rows=354 width=9) (actual time=0.182..0.182 rows=354 loops=1)

  • Buckets: 1,024 Batches: 1 Memory Usage: 24kB
76. 0.108 0.108 ↑ 1.0 354 1

Seq Scan on accounts accounts_1 (cost=0.00..14.54 rows=354 width=9) (actual time=0.015..0.108 rows=354 loops=1)

77. 6,126.317 6,330.544 ↓ 9,048.8 44,981,371 1

Sort (cost=9,565.98..9,578.40 rows=4,971 width=48) (actual time=235.467..6,330.544 rows=44,981,371 loops=1)

  • Sort Key: pa.project_plan_id
  • Sort Method: external sort Disk: 2,632kB
78. 7.452 204.227 ↓ 8.9 44,428 1

Subquery Scan on pa (cost=9,136.50..9,260.77 rows=4,971 width=48) (actual time=149.793..204.227 rows=44,428 loops=1)

79. 80.047 196.775 ↓ 8.9 44,428 1

HashAggregate (cost=9,136.50..9,211.06 rows=4,971 width=48) (actual time=149.792..196.775 rows=44,428 loops=1)

  • Group Key: plan_rows.project_plan_id, plan_rows.epic_id, plan_rows.user_id, plan_roles.activity_id, COALESCE(plan_roles.start_date, '1980-01-01'::date), COALESCE(lag((plan_roles.start_date - 1), 1) OVER (?), '3000-01-01'::date)
80. 33.921 116.728 ↑ 1.0 44,581 1

WindowAgg (cost=6,572.98..7,576.09 rows=44,583 width=68) (actual time=76.078..116.728 rows=44,581 loops=1)

81. 37.312 82.807 ↑ 1.0 44,581 1

Sort (cost=6,572.98..6,684.43 rows=44,583 width=60) (actual time=76.065..82.807 rows=44,581 loops=1)

  • Sort Key: plan_roles.plan_row_uuid, plan_roles.start_date DESC NULLS LAST
  • Sort Method: external merge Disk: 2,768kB
82. 20.316 45.495 ↑ 1.0 44,581 1

Hash Join (cost=1,631.38..3,130.23 rows=44,583 width=60) (actual time=20.044..45.495 rows=44,581 loops=1)

  • Hash Cond: (plan_roles.plan_row_uuid = plan_rows.uuid)
83. 5.173 5.173 ↑ 1.0 44,583 1

Seq Scan on plan_roles (cost=0.00..885.83 rows=44,583 width=32) (actual time=0.011..5.173 rows=44,583 loops=1)

84. 10.808 20.006 ↑ 1.0 48,106 1

Hash (cost=1,030.06..1,030.06 rows=48,106 width=28) (actual time=20.006..20.006 rows=48,106 loops=1)

  • Buckets: 65,536 Batches: 1 Memory Usage: 3,180kB
85. 9.198 9.198 ↑ 1.0 48,106 1

Seq Scan on plan_rows (cost=0.00..1,030.06 rows=48,106 width=28) (actual time=0.006..9.198 rows=48,106 loops=1)

Planning time : 3.604 ms
Execution time : 45,277.157 ms