explain.depesz.com

PostgreSQL's explain analyze made readable

Result: WFn

Settings
# exclusive inclusive rows x rows loops node
1. 0.021 14,829.350 ↑ 1.0 24 1

Limit (cost=83,531.75..83,540.51 rows=24 width=2,607) (actual time=14,829.285..14,829.350 rows=24 loops=1)

2. 0.040 14,829.329 ↑ 56.3 24 1

Unique (cost=83,531.75..84,024.87 rows=1,351 width=2,607) (actual time=14,829.284..14,829.329 rows=24 loops=1)

3. 354.920 14,829.289 ↑ 56.3 24 1

Sort (cost=83,531.75..83,535.13 rows=1,351 width=2,607) (actual time=14,829.282..14,829.289 rows=24 loops=1)

  • Sort Key: pc.associated_date DESC NULLS LAST, pc.candidate_id, pc.position_description_id, c.first_name, c.middle_name, c.last_name, c.email, pd.name, pd.vertical_id, pd.company_location_id, pd.contact_id, pd.company_id, vertical.name, company_location.location_name, pc.status, pc.old_status, company.name, company.company_owner_id, user_account.name, c.active, contact.last_name, contact.first_name, contact.middle_name, pc.rejected_date, pc.offer_date, pc.offer_accepted_date, pc.hire_date, pc.accepted_date, pc.id, pc.introduced_date, pc.sent_date, pc.accept_job_date, pc.declined_date, pc.decline_reason, (CASE WHEN (interview_time.selected = 1) THEN interview_time.interview_date_time_from ELSE NULL::timestamp without time zone END), interview.recommended_date_time1, interview.cancelled_date, interview.id, pc.interview2_date, interview.time_zone, position_candidate_company_response.company_response_id, pc.interview1_date, position_candidate_company_response.note, pc.reminder_names, pc.reminder_emails, pc.reminder_before, pc.reminder_unit, pc.reminder_date, pc.reminder_sent_date, pd.insert_timestamp, pd.head_count_open_date, pd.head_count_close_date, pe.agency_consultant_names, c.currency_type, (CASE WHEN (offer.position_type = 2) THEN offer.projected_pay_rate WHEN (offer.position_type IS NOT NULL) THEN offer.gross_annual_salary WHEN (pd.position_type = 2) THEN compensation.projected_pay_rate WHEN (pd.position_type <> 2) THEN compensation.gross_annual_salary ELSE '0'::double precision END), (CASE WHEN (offer.id IS NOT NULL) THEN offer.projected_profit WHEN (compensation.id IS NOT NULL) THEN compensation.projected_profit ELSE '0'::double precision END), (CASE WHEN (offer.id IS NOT NULL) THEN offer.currency_type ELSE compensation.currency_type END), offer_personal_info.start_date, (CASE WHEN (offer_fee_model.id IS NOT NULL) THEN offer_fee_model.first_invoice_date ELSE compensation_fee_model.first_invoice_date END), pc.latest_average_feedback_score, c.first_name_kana, c.last_name_kana, c.middle_name_kana, pd.floated_job, pc.created_by, ua.name, invoice.id, c.insert_timestamp, c.phone, c.availability, c.employment_type, candidate_source.name, c.date_of_birth, c.current_salary, c.desire_salary, c.deleted_timestamp, c.deleted_reason, ce.talent_pool_names, ce.talent_pool_ids, ua_deleted_by.name, cl.city, cl.state, co.system_name, c.total_jobs, offer.id, offer_personal_info.invoice_due_date, offer_personal_info.client_contact_name, ce.candidate_owner_names, ce.current_job_title, c.notice_period, ce.current_employer, c.desired_job_type_json, (CASE WHEN ((cl.latitude IS NOT NULL) AND (cl.longitude IS NOT NULL)) THEN 1 ELSE 0 END), (CASE WHEN (ih.completed_date IS NOT NULL) THEN 'COMPLETE'::text WHEN (pc.accepted_date IS NOT NULL) THEN 'CONFIRMED'::text WHEN ((interview.id = 0) OR (interview.id IS NULL) OR (interview.cancelled_date IS NOT NULL) OR (((CASE WHEN (interview_time.selected = 1) THEN interview_time.interview_date_time_from ELSE NULL::timestamp without time zone END) IS NULL) AND (interview.recommended_date_time1 IS NULL) AND (NOT (CASE WHEN (interview_time.index_num = 1) THEN true ELSE false END)))) THEN 'SCHEDULING'::text ELSE NULL::text END), offer.draft_offer, c.highest_pcid, c.hot_end_date, ((COALESCE(c.hot_end_date, (((now())::date - 1))::timestamp without time zone) >= now())), pd.hot_end_date, ((COALESCE(pd.hot_end_date, (((now())::date - 1))::timestamp without time zone) >= now())), cd.saved_filename, (fn_get_full_name((contact.first_name)::text, (contact.middle_name)::text, (contact.last_name)::text)), offer_personal_info.placed_date, offer_personal_info.offer_date, offer.total_invoice, (CASE WHEN (pc.status >= 200) THEN (COALESCE(offer.projected_profit, '0'::double precision) + COALESCE(offer.total_invoice, '0'::double precision)) ELSE '0'::double precision END), offer.pay_rate, offer.charge_rate, offer.profit, offer.contract_rate_type, offer.total_pay_rate, offer.margin_percent, offer.markup_percent, offer.projected_charge_rate, offer.projected_pay_rate, offer_personal_info.end_date, pc.sub_status_id, user_temp.name, ce.last_activity_date, pd.position_type, pc.hide_candidate_name_in_live_list, pc.hide_employer_name_in_live_list, ce.candidate_owner_ids, pe.agency_consultant_ids, ce.job_types, ih.id, (CASE WHEN (((count(*)) IS NULL) OR ((count(*)) = 0)) THEN NULL::numeric ELSE LEAST(round((((COALESCE((count(DISTINCT cd_1.document_types_id)), '0'::bigint) * 100))::numeric / ((count(*)))::numeric), 2), '100'::numeric) END), ce.candidate_next_availability_date, (COALESCE(ce.available_this_week_status, 'UNKNOWN'::character varying)), (COALESCE(ce.available_next_week_status, 'UNKNOWN'::character varying)), (COALESCE((cgc.portal_status)::integer, 0)), (COALESCE((pc.consent_status)::integer, 0)), pc.configurable_stage_id, pc.shortlisted_user_id, pc.sent_user_id, pc.last_stage_date, shortlisted_user_account.name, sent_user_account.name, invoice.renewal_date, offer.position_type, pc.contract_count, offer_approval.status, approver.name, approver.id, invoice.renewal_flow_status
  • Sort Method: external merge Disk: 44720kB
4. 476.776 14,474.369 ↓ 51.3 69,241 1

Nested Loop Left Join (cost=56,591.30..83,461.50 rows=1,351 width=2,607) (actual time=10,727.792..14,474.369 rows=69,241 loops=1)

5. 78.471 13,651.388 ↓ 256.4 69,241 1

Nested Loop Left Join (cost=56,591.30..77,180.31 rows=270 width=2,585) (actual time=10,727.189..13,651.388 rows=69,241 loops=1)

6. 61.739 13,434.435 ↓ 256.4 69,241 1

Nested Loop Left Join (cost=56,591.02..77,098.87 rows=270 width=2,591) (actual time=10,727.161..13,434.435 rows=69,241 loops=1)

7. 127.732 12,749.527 ↓ 256.4 69,241 1

Nested Loop Left Join (cost=56,569.03..60,532.77 rows=270 width=2,583) (actual time=10,725.148..12,749.527 rows=69,241 loops=1)

  • Join Filter: (offer.id = offer_approval.offer_id)
  • Rows Removed by Join Filter: 1315568
8. 699.128 12,552.554 ↓ 256.4 69,241 1

Hash Left Join (cost=56,567.60..60,370.33 rows=270 width=2,558) (actual time=10,724.506..12,552.554 rows=69,241 loops=1)

  • Hash Cond: (pc.candidate_id = tgc.candidate_id)
  • Filter: ((tgc.id IS NULL) OR (tgc.team_group_id = ANY ('{1133,1121}'::integer[])))
  • Rows Removed by Filter: 141404
9. 189.892 11,703.931 ↓ 199.5 135,095 1

Nested Loop Left Join (cost=43,372.61..44,532.45 rows=677 width=2,558) (actual time=10,574.938..11,703.931 rows=135,095 loops=1)

10. 79.835 11,378.944 ↓ 199.5 135,095 1

Nested Loop Left Join (cost=43,372.34..44,335.35 rows=677 width=2,545) (actual time=10,574.923..11,378.944 rows=135,095 loops=1)

11. 106.959 11,164.015 ↓ 199.5 135,094 1

Nested Loop Left Join (cost=43,372.19..44,216.63 rows=677 width=2,275) (actual time=10,574.913..11,164.015 rows=135,094 loops=1)

12. 213.593 10,921.962 ↓ 199.5 135,094 1

Merge Left Join (cost=43,372.05..44,099.20 rows=677 width=2,267) (actual time=10,574.875..10,921.962 rows=135,094 loops=1)

  • Merge Cond: (pc.candidate_id = cd.candidate_id)
13. 781.753 10,502.122 ↓ 199.5 135,094 1

Sort (cost=16,810.62..16,812.32 rows=677 width=2,226) (actual time=10,388.554..10,502.122 rows=135,094 loops=1)

  • Sort Key: pc.candidate_id
  • Sort Method: external merge Disk: 77136kB
14. 120.137 9,720.369 ↓ 199.5 135,094 1

Hash Left Join (cost=3,358.89..16,778.80 rows=677 width=2,226) (actual time=46.368..9,720.369 rows=135,094 loops=1)

  • Hash Cond: ((interview.id = ih.interview_id) AND (interview.interview_no = ih.interview_no))
15. 164.956 9,595.172 ↓ 199.5 135,084 1

Nested Loop Left Join (cost=2,874.04..16,269.28 rows=677 width=2,218) (actual time=41.249..9,595.172 rows=135,084 loops=1)

16. 202.962 9,160.050 ↓ 199.5 135,083 1

Nested Loop Left Join (cost=2,873.47..15,794.04 rows=677 width=2,172) (actual time=41.196..9,160.050 rows=135,083 loops=1)

17. 94.595 8,686.922 ↓ 199.5 135,083 1

Hash Left Join (cost=2,873.18..15,573.43 rows=677 width=2,140) (actual time=41.185..8,686.922 rows=135,083 loops=1)

  • Hash Cond: (offer.id = offer_fee_model.offer_id)
18. 167.823 8,592.175 ↓ 199.5 135,083 1

Nested Loop Left Join (cost=2,858.33..15,555.43 rows=677 width=2,128) (actual time=41.026..8,592.175 rows=135,083 loops=1)

19. 145.111 8,424.352 ↓ 199.5 135,083 1

Nested Loop Left Join (cost=2,858.04..15,245.26 rows=677 width=2,072) (actual time=41.022..8,424.352 rows=135,083 loops=1)

20. 139.990 8,279.241 ↓ 199.5 135,083 1

Nested Loop Left Join (cost=2,857.76..15,022.10 rows=677 width=2,058) (actual time=41.018..8,279.241 rows=135,083 loops=1)

21. 103.964 8,139.251 ↓ 199.5 135,083 1

Hash Left Join (cost=2,857.49..14,823.79 rows=677 width=2,041) (actual time=41.009..8,139.251 rows=135,083 loops=1)

  • Hash Cond: (pd.vertical_id = vertical.id)
22. 204.452 8,035.259 ↓ 199.5 135,083 1

Hash Left Join (cost=2,855.32..14,819.81 rows=677 width=2,023) (actual time=40.935..8,035.259 rows=135,083 loops=1)

  • Hash Cond: (pd.company_location_id = company_location.id)
23. 158.038 7,791.709 ↓ 199.5 135,083 1

Nested Loop Left Join (cost=266.04..11,401.74 rows=677 width=1,955) (actual time=1.544..7,791.709 rows=135,083 loops=1)

24. 198.441 7,498.588 ↓ 199.5 135,083 1

Nested Loop Left Join (cost=265.76..11,203.76 rows=677 width=1,938) (actual time=1.537..7,498.588 rows=135,083 loops=1)

25. 98.635 7,029.981 ↓ 199.5 135,083 1

Nested Loop Left Join (cost=265.48..10,988.37 rows=677 width=1,893) (actual time=1.508..7,029.981 rows=135,083 loops=1)

26. 103.181 6,661.180 ↓ 199.5 135,083 1

Hash Left Join (cost=265.19..10,781.67 rows=677 width=1,785) (actual time=1.475..6,661.180 rows=135,083 loops=1)

  • Hash Cond: (c.candidate_source_id = candidate_source.id)
27. 90.754 6,557.950 ↓ 199.5 135,083 1

Hash Left Join (cost=263.36..10,777.86 rows=677 width=1,273) (actual time=1.418..6,557.950 rows=135,083 loops=1)

  • Hash Cond: (c.deleted_by_user_id = ua_deleted_by.id)
28. 183.048 6,467.073 ↓ 199.5 135,083 1

Nested Loop Left Join (cost=176.46..10,689.19 rows=677 width=1,260) (actual time=1.283..6,467.073 rows=135,083 loops=1)

29. 153.304 6,013.859 ↓ 199.5 135,083 1

Nested Loop Left Join (cost=176.32..10,579.15 rows=677 width=1,252) (actual time=1.281..6,013.859 rows=135,083 loops=1)

30. 79.145 4,779.891 ↓ 199.5 135,083 1

Hash Left Join (cost=175.89..10,215.93 rows=677 width=1,218) (actual time=1.244..4,779.891 rows=135,083 loops=1)

  • Hash Cond: (pc.sent_user_id = sent_user_account.id)
31. 96.542 4,700.613 ↓ 199.5 135,083 1

Hash Left Join (cost=89.00..10,127.25 rows=677 width=1,201) (actual time=1.100..4,700.613 rows=135,083 loops=1)

  • Hash Cond: (pc.shortlisted_user_id = shortlisted_user_account.id)
32. 172.636 4,603.205 ↓ 199.5 135,083 1

Nested Loop (cost=2.10..10,038.58 rows=677 width=1,184) (actual time=0.222..4,603.205 rows=135,083 loops=1)

  • Join Filter: (pc.candidate_id = c.id)
33. 151.114 2,388.094 ↓ 199.9 136,165 1

Nested Loop (cost=1.68..8,809.52 rows=681 width=994) (actual time=0.178..2,388.094 rows=136,165 loops=1)

34. 110.287 1,283.825 ↓ 199.9 136,165 1

Nested Loop (cost=1.25..8,404.09 rows=681 width=544) (actual time=0.136..1,283.825 rows=136,165 loops=1)

35. 34.728 554.674 ↓ 199.9 25,786 1

Nested Loop Left Join (cost=0.83..5,229.56 rows=129 width=147) (actual time=0.115..554.674 rows=25,786 loops=1)

36. 27.771 313.658 ↓ 199.9 25,786 1

Nested Loop Left Join (cost=0.42..4,233.44 rows=129 width=119) (actual time=0.069..313.658 rows=25,786 loops=1)

37. 79.599 79.599 ↓ 199.9 25,786 1

Seq Scan on position_description pd (cost=0.00..3,217.32 rows=129 width=102) (actual time=0.027..79.599 rows=25,786 loops=1)

  • Filter: (position_category = 1)
38. 206.288 206.288 ↑ 1.0 1 25,786

Index Scan using contact__pkey on contact (cost=0.42..7.88 rows=1 width=21) (actual time=0.008..0.008 rows=1 loops=25,786)

  • Index Cond: (id = pd.contact_id)
39. 206.288 206.288 ↑ 1.0 1 25,786

Index Scan using company__pkey on company (cost=0.42..7.72 rows=1 width=32) (actual time=0.008..0.008 rows=1 loops=25,786)

  • Index Cond: (id = pd.company_id)
40. 618.864 618.864 ↑ 1.8 5 25,786

Index Scan using index_pc_pd on position_candidate pc (cost=0.42..24.52 rows=9 width=405) (actual time=0.007..0.024 rows=5 loops=25,786)

  • Index Cond: (position_description_id = pd.id)
  • Filter: ((status >= 102) AND (associated_date <= now()) AND (associated_date >= (date_trunc('year'::text, now()) - '5 years'::interval)))
41. 953.155 953.155 ↑ 1.0 1 136,165

Index Scan using candidate_extension_candidate_id__pkey on candidate_extension ce (cost=0.42..0.60 rows=1 width=450) (actual time=0.007..0.007 rows=1 loops=136,165)

  • Index Cond: (candidate_id = pc.candidate_id)
42. 2,042.475 2,042.475 ↑ 1.0 1 136,165

Index Scan using candidate_pkey on candidate c (cost=0.42..1.79 rows=1 width=198) (actual time=0.015..0.015 rows=1 loops=136,165)

  • Index Cond: (id = ce.candidate_id)
  • Filter: (deleted_timestamp IS NULL)
  • Rows Removed by Filter: 0
43. 0.059 0.866 ↓ 1.0 352 1

Hash (cost=82.51..82.51 rows=351 width=21) (actual time=0.866..0.866 rows=352 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 28kB
44. 0.807 0.807 ↓ 1.0 352 1

Seq Scan on user_account shortlisted_user_account (cost=0.00..82.51 rows=351 width=21) (actual time=0.008..0.807 rows=352 loops=1)

45. 0.049 0.133 ↓ 1.0 352 1

Hash (cost=82.51..82.51 rows=351 width=21) (actual time=0.133..0.133 rows=352 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 28kB
46. 0.084 0.084 ↓ 1.0 352 1

Seq Scan on user_account sent_user_account (cost=0.00..82.51 rows=351 width=21) (actual time=0.007..0.084 rows=352 loops=1)

47. 1,080.664 1,080.664 ↑ 1.0 1 135,083

Index Scan using common_location_pkey on common_location cl (cost=0.42..0.54 rows=1 width=46) (actual time=0.008..0.008 rows=1 loops=135,083)

  • Index Cond: (c.current_location_id = id)
48. 270.166 270.166 ↓ 0.0 0 135,083

Index Scan using country_pkey on country co (cost=0.14..0.16 rows=1 width=13) (actual time=0.002..0.002 rows=0 loops=135,083)

  • Index Cond: ((cl.country_code)::text = (code)::text)
49. 0.060 0.123 ↓ 1.0 352 1

Hash (cost=82.51..82.51 rows=351 width=21) (actual time=0.123..0.123 rows=352 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 28kB
50. 0.063 0.063 ↓ 1.0 352 1

Seq Scan on user_account ua_deleted_by (cost=0.00..82.51 rows=351 width=21) (actual time=0.006..0.063 rows=352 loops=1)

51. 0.010 0.049 ↓ 1.0 38 1

Hash (cost=1.37..1.37 rows=37 width=520) (actual time=0.049..0.049 rows=38 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 11kB
52. 0.039 0.039 ↓ 1.0 38 1

Seq Scan on candidate_source (cost=0.00..1.37 rows=37 width=520) (actual time=0.036..0.039 rows=38 loops=1)

53. 270.166 270.166 ↓ 0.0 0 135,083

Index Scan using offer_valid_position_candidate_id__unq on offer (cost=0.28..0.31 rows=1 width=112) (actual time=0.002..0.002 rows=0 loops=135,083)

  • Index Cond: (pc.id = position_candidate_id)
54. 270.166 270.166 ↑ 1.0 1 135,083

Index Scan using position_extension__pkey on position_extension pe (cost=0.29..0.32 rows=1 width=53) (actual time=0.002..0.002 rows=1 loops=135,083)

  • Index Cond: (pc.position_description_id = position_id)
55. 135.083 135.083 ↑ 1.0 1 135,083

Index Scan using client_account_pkey on user_account ua (cost=0.27..0.29 rows=1 width=21) (actual time=0.001..0.001 rows=1 loops=135,083)

  • Index Cond: (id = pc.created_by)
56. 12.729 39.098 ↑ 1.0 42,546 1

Hash (cost=1,558.46..1,558.46 rows=42,546 width=72) (actual time=39.098..39.098 rows=42,546 loops=1)

  • Buckets: 65536 Batches: 2 Memory Usage: 2552kB
57. 26.369 26.369 ↑ 1.0 42,546 1

Seq Scan on company_location (cost=0.00..1,558.46 rows=42,546 width=72) (actual time=0.038..26.369 rows=42,546 loops=1)

58. 0.011 0.028 ↑ 1.0 52 1

Hash (cost=1.52..1.52 rows=52 width=22) (actual time=0.028..0.028 rows=52 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 11kB
59. 0.017 0.017 ↑ 1.0 52 1

Seq Scan on vertical (cost=0.00..1.52 rows=52 width=22) (actual time=0.014..0.017 rows=52 loops=1)

60. 0.000 0.000 ↓ 0.0 0 135,083

Index Scan using client_account_pkey on user_account (cost=0.27..0.29 rows=1 width=21) (actual time=0.000..0.000 rows=0 loops=135,083)

  • Index Cond: (company.company_owner_id = id)
61. 0.000 0.000 ↓ 0.0 0 135,083

Index Scan using invoice_offer_id__unq on invoice (cost=0.28..0.33 rows=1 width=18) (actual time=0.000..0.000 rows=0 loops=135,083)

  • Index Cond: (offer_id = offer.id)
62. 0.000 0.000 ↓ 0.0 0 135,083

Index Scan using offer_personal_info__offer__fkey on offer_personal_info (cost=0.28..0.46 rows=1 width=60) (actual time=0.000..0.000 rows=0 loops=135,083)

  • Index Cond: (offer_id = offer.id)
63. 0.050 0.152 ↑ 1.0 438 1

Hash (cost=9.38..9.38 rows=438 width=16) (actual time=0.152..0.152 rows=438 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 26kB
64. 0.102 0.102 ↑ 1.0 438 1

Seq Scan on offer_fee_model (cost=0.00..9.38 rows=438 width=16) (actual time=0.011..0.102 rows=438 loops=1)

65. 270.166 270.166 ↑ 1.0 1 135,083

Index Scan using compensation_position_id__uidx on compensation (cost=0.29..0.33 rows=1 width=36) (actual time=0.002..0.002 rows=1 loops=135,083)

  • Index Cond: (pc.position_description_id = position_id)
66. 0.000 270.166 ↓ 0.0 0 135,083

Nested Loop Left Join (cost=0.57..0.69 rows=1 width=50) (actual time=0.002..0.002 rows=0 loops=135,083)

67. 270.166 270.166 ↓ 0.0 0 135,083

Index Scan using interview_position_candidate_id on interview (cost=0.29..0.31 rows=1 width=41) (actual time=0.002..0.002 rows=0 loops=135,083)

  • Index Cond: (position_candidate_id = pc.id)
  • Filter: ((pc.status - interview_no) = 103)
  • Rows Removed by Filter: 0
68. 35.652 35.652 ↑ 1.0 1 8,913

Index Scan using interview_time__interview_id_fkey on interview_time (cost=0.29..0.36 rows=1 width=20) (actual time=0.004..0.004 rows=1 loops=8,913)

  • Index Cond: (interview.id = interview_id)
  • Filter: ((selected = 1) OR (index_num = 1))
  • Rows Removed by Filter: 0
69. 1.744 5.060 ↑ 1.0 12,594 1

Hash (cost=295.94..295.94 rows=12,594 width=24) (actual time=5.060..5.060 rows=12,594 loops=1)

  • Buckets: 16384 Batches: 1 Memory Usage: 857kB
70. 3.316 3.316 ↑ 1.0 12,594 1

Seq Scan on interview_history ih (cost=0.00..295.94 rows=12,594 width=24) (actual time=0.038..3.316 rows=12,594 loops=1)

71. 10.262 206.247 ↓ 1.5 52,536 1

Unique (cost=26,561.42..26,837.78 rows=35,488 width=53) (actual time=185.828..206.247 rows=52,536 loops=1)

72. 64.268 195.985 ↑ 1.0 54,059 1

Sort (cost=26,561.42..26,699.60 rows=55,271 width=53) (actual time=185.826..195.985 rows=54,059 loops=1)

  • Sort Key: cd.candidate_id, cd.created DESC
  • Sort Method: external merge Disk: 3496kB
73. 124.815 131.717 ↑ 1.0 54,062 1

Bitmap Heap Scan on candidate_document cd (cost=1,072.78..20,317.66 rows=55,271 width=53) (actual time=8.511..131.717 rows=54,062 loops=1)

  • Recheck Cond: ((document_type)::text = 'candidate_photo'::text)
  • Heap Blocks: exact=12845
74. 6.902 6.902 ↑ 1.0 54,062 1

Bitmap Index Scan on candidate_document_document_type_idx (cost=0.00..1,058.96 rows=55,271 width=0) (actual time=6.902..6.902 rows=54,062 loops=1)

  • Index Cond: ((document_type)::text = 'candidate_photo'::text)
75. 135.094 135.094 ↓ 0.0 0 135,094

Index Scan using compensation_fee_model_compensation_id__fkey on compensation_fee_model (cost=0.14..0.16 rows=1 width=12) (actual time=0.001..0.001 rows=0 loops=135,094)

  • Index Cond: (compensation_id = compensation.id)
76. 135.094 135.094 ↓ 0.0 0 135,094

Index Scan using company_response__position_candidate_id__fkey on position_candidate_company_response (cost=0.15..0.17 rows=1 width=274) (actual time=0.001..0.001 rows=0 loops=135,094)

  • Index Cond: (position_candidate_id = pc.id)
77. 135.095 135.095 ↑ 1.0 1 135,095

Index Scan using client_account_pkey on user_account user_temp (cost=0.27..0.29 rows=1 width=21) (actual time=0.001..0.001 rows=1 loops=135,095)

  • Index Cond: (c.user_account_id = id)
78. 76.306 149.495 ↑ 1.0 369,418 1

Hash (cost=6,411.66..6,411.66 rows=369,466 width=20) (actual time=149.495..149.495 rows=369,418 loops=1)

  • Buckets: 65536 Batches: 8 Memory Usage: 2880kB
79. 73.189 73.189 ↑ 1.0 369,418 1

Seq Scan on team_group_candidate tgc (cost=0.00..6,411.66 rows=369,466 width=20) (actual time=0.043..73.189 rows=369,418 loops=1)

80. 68.617 69.241 ↑ 1.0 19 69,241

Materialize (cost=1.43..85.54 rows=19 width=29) (actual time=0.000..0.001 rows=19 loops=69,241)

81. 0.113 0.624 ↑ 1.0 19 1

Hash Right Join (cost=1.43..85.44 rows=19 width=29) (actual time=0.385..0.624 rows=19 loops=1)

  • Hash Cond: (approver.id = offer_approval.user_account_id)
82. 0.461 0.461 ↓ 1.0 352 1

Seq Scan on user_account approver (cost=0.00..82.51 rows=351 width=21) (actual time=0.019..0.461 rows=352 loops=1)

83. 0.013 0.050 ↑ 1.0 19 1

Hash (cost=1.19..1.19 rows=19 width=12) (actual time=0.049..0.050 rows=19 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
84. 0.037 0.037 ↑ 1.0 19 1

Seq Scan on offer_approval (cost=0.00..1.19 rows=19 width=12) (actual time=0.031..0.037 rows=19 loops=1)

85. 0.000 623.169 ↓ 0.0 0 69,241

GroupAggregate (cost=21.99..61.34 rows=1 width=12) (actual time=0.009..0.009 rows=0 loops=69,241)

  • Group Key: cd_1.candidate_id
86. 69.241 623.169 ↓ 0.0 0 69,241

Result (cost=21.99..61.32 rows=1 width=8) (actual time=0.009..0.009 rows=0 loops=69,241)

  • One-Time Filter: (pc.status >= 102)
87. 136.501 553.928 ↓ 0.0 0 69,241

Hash Join (cost=21.99..61.32 rows=1 width=8) (actual time=0.008..0.008 rows=0 loops=69,241)

  • Hash Cond: (cd_1.document_types_id = odt.document_type_id)
88. 1.981 1.981 ↑ 14.0 1 1

Index Scan using candidate_document_candidate_id_idx on candidate_document cd_1 (cost=0.42..39.69 rows=14 width=8) (actual time=1.981..1.981 rows=1 loops=1)

  • Index Cond: (pc.candidate_id = candidate_id)
89. 415.446 415.446 ↓ 0.0 0 69,241

Hash (cost=21.50..21.50 rows=5 width=4) (actual time=0.006..0.006 rows=0 loops=69,241)

  • Buckets: 1024 Batches: 1 Memory Usage: 8kB
90. 0.000 0.000 ↓ 0.0 0 69,241

Seq Scan on onboarding_document_type odt (cost=0.00..21.50 rows=5 width=4) (actual time=0.000..0.000 rows=0 loops=69,241)

  • Filter: (pc.position_description_id = job_id)
91. 138.482 138.482 ↓ 0.0 0 69,241

Index Scan using gdpr_compliance_pkey on candidate_gdpr_compliance cgc (cost=0.28..0.30 rows=1 width=6) (actual time=0.002..0.002 rows=0 loops=69,241)

  • Index Cond: (c.id = candidate_id)
92. 346.205 346.205 ↓ 0.0 0 69,241

GroupAggregate (cost=0.00..21.57 rows=5 width=16) (actual time=0.005..0.005 rows=0 loops=69,241)

  • Group Key: onboarding_document_type.job_id
93. 0.000 0.000 ↓ 0.0 0 69,241

Seq Scan on onboarding_document_type (cost=0.00..21.50 rows=5 width=8) (actual time=0.000..0.000 rows=0 loops=69,241)

  • Filter: (job_id = pc.position_description_id)