explain.depesz.com

PostgreSQL's explain analyze made readable

Result: RQox

Settings
# exclusive inclusive rows x rows loops node
1. 164.776 465.413 ↓ 19.5 138,913 1

Finalize HashAggregate (cost=17,656.53..17,834.68 rows=7,126 width=240) (actual time=398.521..465.413 rows=138,913 loops=1)

  • Group Key: r.away_team, (CASE WHEN ((rt.display_name)::text <> 'Purchase'::text) THEN d.name ELSE NULL::character varying END), creatorname.employee_name, rs.display_name, r.home_team, e.event_date, e.event_unique_id, st.name, r.request_number, r.ticket_count, requestername.employee_name, (CASE WHEN ((rt.display_name)::text <> 'Purchase'::text) THEN r.gl_code ELSE NULL::character varying END)
2. 19.651 300.637 ↓ 23.4 138,913 1

Gather (cost=16,810.36..17,448.70 rows=5,938 width=232) (actual time=266.303..300.637 rows=138,913 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
3. 57.782 280.986 ↓ 15.6 46,304 3 / 3

Partial HashAggregate (cost=15,810.36..15,854.90 rows=2,969 width=232) (actual time=262.292..280.986 rows=46,304 loops=3)

  • Group Key: r.away_team, CASE WHEN ((rt.display_name)::text <> 'Purchase'::text) THEN d.name ELSE NULL::character varying END, creatorname.employee_name, rs.display_name, r.home_team, e.event_date, e.event_unique_id, st.name, r.request_number, r.ticket_count, requestername.employee_name, CASE WHEN ((rt.display_name)::text <> 'Purchase'::text) THEN r.gl_code ELSE NULL::character varying END
4. 9.498 223.204 ↓ 15.8 46,767 3 / 3

Parallel Hash Left Join (cost=6,154.49..15,713.87 rows=2,969 width=232) (actual time=23.953..223.204 rows=46,767 loops=3)

  • Hash Cond: (rtm.ticket_id = ti.id)
5. 9.967 192.374 ↓ 15.8 46,767 3 / 3

Hash Left Join (cost=272.53..9,809.28 rows=2,969 width=438) (actual time=2.314..192.374 rows=46,767 loops=3)

  • Hash Cond: (r.id = rtm.request_id)
6. 11.171 181.837 ↓ 15.6 46,304 3 / 3

Hash Left Join (cost=178.54..9,603.58 rows=2,969 width=438) (actual time=1.735..181.837 rows=46,304 loops=3)

  • Hash Cond: (r.account_id = uam.account_id)
7. 10.565 170.380 ↓ 15.6 46,304 3 / 3

Hash Join (cost=150.95..9,535.27 rows=2,969 width=433) (actual time=1.441..170.380 rows=46,304 loops=3)

  • Hash Cond: (r.request_status = rs.id)
8. 7.433 159.767 ↓ 12.8 46,304 3 / 3

Nested Loop (cost=145.81..9,520.24 rows=3,618 width=435) (actual time=1.381..159.767 rows=46,304 loops=3)

9. 8.766 59.725 ↓ 12.8 46,304 3 / 3

Hash Join (cost=145.39..7,538.36 rows=3,618 width=451) (actual time=1.358..59.725 rows=46,304 loops=3)

  • Hash Cond: (r.requester = requestername.id)
10. 9.628 50.661 ↓ 12.8 46,304 3 / 3

Hash Join (cost=108.53..7,491.96 rows=3,618 width=453) (actual time=1.050..50.661 rows=46,304 loops=3)

  • Hash Cond: (r.creator = creatorname.id)
11. 9.791 40.795 ↓ 12.8 46,304 3 / 3

Hash Join (cost=71.68..7,445.57 rows=3,618 width=455) (actual time=0.804..40.795 rows=46,304 loops=3)

  • Hash Cond: (r.request_type = rt.id)
12. 13.676 30.994 ↓ 6.4 46,304 3 / 3

Hash Join (cost=70.58..7,412.06 rows=7,235 width=253) (actual time=0.783..30.994 rows=46,304 loops=3)

  • Hash Cond: (r.event_id = e.id)
13. 16.551 16.551 ↑ 1.3 46,304 3 / 3

Parallel Seq Scan on request r (cost=0.00..7,051.81 rows=57,881 width=206) (actual time=0.006..16.551 rows=46,304 loops=3)

  • Filter: (is_active AND is_active)
  • Rows Removed by Filter: 0
14. 0.212 0.767 ↓ 7.5 1,296 3 / 3

Hash (cost=68.43..68.43 rows=172 width=79) (actual time=0.767..0.767 rows=1,296 loops=3)

  • Buckets: 2048 (originally 1024) Batches: 1 (originally 1) Memory Usage: 135kB
15. 0.365 0.555 ↓ 7.5 1,296 3 / 3

Hash Join (cost=2.15..68.43 rows=172 width=79) (actual time=0.044..0.555 rows=1,296 loops=3)

  • Hash Cond: (e.season_id = s.id)
16. 0.159 0.159 ↑ 1.0 1,371 3 / 3

Seq Scan on event e (cost=0.00..57.71 rows=1,371 width=63) (actual time=0.005..0.159 rows=1,371 loops=3)

17. 0.002 0.031 ↑ 1.0 1 3 / 3

Hash (cost=2.14..2.14 rows=1 width=48) (actual time=0.030..0.031 rows=1 loops=3)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
18. 0.004 0.029 ↑ 1.0 1 3 / 3

Nested Loop (cost=0.00..2.14 rows=1 width=48) (actual time=0.028..0.029 rows=1 loops=3)

  • Join Filter: (s.type = st.id)
  • Rows Removed by Join Filter: 2
19. 0.014 0.014 ↑ 1.0 1 3 / 3

Seq Scan on season s (cost=0.00..1.07 rows=1 width=32) (actual time=0.014..0.014 rows=1 loops=3)

  • Filter: (is_active AND (((type)::character varying)::text = 'e9d61527-def7-46be-9167-bb1644185768'::text))
  • Rows Removed by Filter: 3
20. 0.011 0.011 ↓ 1.5 3 3 / 3

Seq Scan on season_type st (cost=0.00..1.04 rows=2 width=48) (actual time=0.011..0.011 rows=3 loops=3)

  • Filter: is_active
  • Rows Removed by Filter: 1
21. 0.002 0.010 ↓ 2.0 6 3 / 3

Hash (cost=1.06..1.06 rows=3 width=234) (actual time=0.010..0.010 rows=6 loops=3)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
22. 0.008 0.008 ↓ 2.0 6 3 / 3

Seq Scan on request_type rt (cost=0.00..1.06 rows=3 width=234) (actual time=0.007..0.008 rows=6 loops=3)

  • Filter: is_active
23. 0.110 0.238 ↑ 1.0 838 3 / 3

Hash (cost=26.38..26.38 rows=838 width=30) (actual time=0.237..0.238 rows=838 loops=3)

  • Buckets: 1024 Batches: 1 Memory Usage: 59kB
24. 0.128 0.128 ↑ 1.0 838 3 / 3

Seq Scan on user_info creatorname (cost=0.00..26.38 rows=838 width=30) (actual time=0.003..0.128 rows=838 loops=3)

  • Filter: is_active
25. 0.123 0.298 ↑ 1.0 838 3 / 3

Hash (cost=26.38..26.38 rows=838 width=30) (actual time=0.297..0.298 rows=838 loops=3)

  • Buckets: 1024 Batches: 1 Memory Usage: 59kB
26. 0.175 0.175 ↑ 1.0 838 3 / 3

Seq Scan on user_info requestername (cost=0.00..26.38 rows=838 width=30) (actual time=0.009..0.175 rows=838 loops=3)

  • Filter: is_active
27. 92.609 92.609 ↑ 1.0 1 138,913 / 3

Index Scan using idx_request_details_id on request_details rd (cost=0.42..0.55 rows=1 width=16) (actual time=0.002..0.002 rows=1 loops=138,913)

  • Index Cond: (id = r.request_details_id)
  • Filter: is_active
28. 0.015 0.048 ↑ 1.0 87 3 / 3

Hash (cost=4.06..4.06 rows=87 width=30) (actual time=0.048..0.048 rows=87 loops=3)

  • Buckets: 1024 Batches: 1 Memory Usage: 14kB
29. 0.033 0.033 ↑ 1.0 87 3 / 3

Seq Scan on request_status rs (cost=0.00..4.06 rows=87 width=30) (actual time=0.016..0.033 rows=87 loops=3)

  • Filter: (is_active IS TRUE)
  • Rows Removed by Filter: 19
30. 0.057 0.286 ↑ 1.0 375 3 / 3

Hash (cost=22.90..22.90 rows=375 width=37) (actual time=0.286..0.286 rows=375 loops=3)

  • Buckets: 1024 Batches: 1 Memory Usage: 35kB
31. 0.066 0.229 ↑ 1.0 375 3 / 3

Hash Left Join (cost=13.15..22.90 rows=375 width=37) (actual time=0.126..0.229 rows=375 loops=3)

  • Hash Cond: (uam.department_id = d.id)
32. 0.052 0.052 ↑ 1.0 375 3 / 3

Seq Scan on department_account_map uam (cost=0.00..8.76 rows=375 width=32) (actual time=0.008..0.052 rows=375 loops=3)

  • Filter: is_active
  • Rows Removed by Filter: 1
33. 0.053 0.111 ↑ 1.0 362 3 / 3

Hash (cost=8.62..8.62 rows=362 width=37) (actual time=0.111..0.111 rows=362 loops=3)

  • Buckets: 1024 Batches: 1 Memory Usage: 33kB
34. 0.058 0.058 ↑ 1.0 362 3 / 3

Seq Scan on department d (cost=0.00..8.62 rows=362 width=37) (actual time=0.009..0.058 rows=362 loops=3)

  • Filter: is_active
35. 0.217 0.570 ↓ 1.0 1,761 3 / 3

Hash (cost=72.09..72.09 rows=1,752 width=32) (actual time=0.570..0.570 rows=1,761 loops=3)

  • Buckets: 2048 Batches: 1 Memory Usage: 127kB
36. 0.353 0.353 ↓ 1.0 1,761 3 / 3

Seq Scan on request_ticket_map rtm (cost=0.00..72.09 rows=1,752 width=32) (actual time=0.007..0.353 rows=1,761 loops=3)

  • Filter: is_active
  • Rows Removed by Filter: 548
37. 9.345 21.332 ↑ 1.2 43,482 3 / 3

Parallel Hash (cost=5,202.60..5,202.60 rows=54,348 width=24) (actual time=21.332..21.332 rows=43,482 loops=3)

  • Buckets: 131072 Batches: 1 Memory Usage: 8224kB
38. 11.987 11.987 ↑ 1.2 43,482 3 / 3

Parallel Seq Scan on ticket ti (cost=0.00..5,202.60 rows=54,348 width=24) (actual time=0.015..11.987 rows=43,482 loops=3)

  • Filter: is_active
  • Rows Removed by Filter: 6
Planning time : 5.357 ms