explain.depesz.com

PostgreSQL's explain analyze made readable

Result: fB2V

Settings
# exclusive inclusive rows x rows loops node
1. 0.005 82.768 ↓ 0.0 0 1

Nested Loop (cost=0.29..17,953.76 rows=122 width=4) (actual time=82.768..82.768 rows=0 loops=1)

  • Output: candidates.candidate_id
2. 82.758 82.758 ↑ 122.0 1 1

Seq Scan on hiring_process.candidates (cost=0.00..17,062.41 rows=122 width=4) (actual time=82.757..82.758 rows=1 loops=1)

  • Output: candidates.candidate_id, candidates.entry_name, candidates.entry_name_kana, candidates.nick_name, candidates.gender, candidates.marital_status, candidates.current_employment_type_id, candidates.entry_route_id, candidates.entry_device_id, candidates.entry_media_id, candidates.zip_code, candidates.prefecture_id, candidates.municipality, candidates.address_street_name, candidates.address_building_name, candidates.telephone_number, candidates.mobile_telephone_number, candidates.mail_address, candidates.mail_address_2, candidates.date_of_birth, candidates.desired_date_of_contact, candidates.available_for_work_period, candidates.available_date_of_working, candidates.job_history, candidates.competency, candidates.desired_condition, candidates.reason, candidates.entry_sheet_type, candidates.created_at, candidates.updated_at, candidates.entry_age
  • Filter: (((($17)::text <> ''::text) AND ((($17)::text = (candidates.telephone_number)::text) OR (($17)::text = (candidates.mobile_telephone_number)::text))) OR ((($19)::text <> ''::text) AND ((($19)::text = (candidates.telephone_number)::text) OR (($19)::text = (candidates.mobile_telephone_number)::text))) OR ((($21)::text <> ''::text) AND ((($21)::text = (candidates.mail_address)::text) OR (($21)::text = (candidates.mail_address_2)::text))) OR ((($23)::text <> ''::text) AND ((($23)::text = (candidates.mail_address)::text) OR (($23)::text = (candidates.mail_address_2)::text))) OR (($25 IS NOT NULL) AND ($25 = candidates.date_of_birth) AND ((($27 <> ''::text) AND (($27 = translate((candidates.entry_name)::text, '  '::text, ''::text)) OR ($27 = translate((candidates.entry_name_kana)::text, '  '::text, ''::text)))) OR (($29 <> ''::text) AND (($29 = translate((candidates.entry_name)::text, '  '::text, ''::text)) OR ($29 = translate((candidates.entry_name_kana)::text, '  '::text, ''::text)))))))
  • Rows Removed by Filter: 81131
3. 0.005 0.005 ↓ 0.0 0 1

Index Only Scan using pk_candidates_active on hiring_process.candidates_active (cost=0.29..7.30 rows=1 width=4) (actual time=0.005..0.005 rows=0 loops=1)

  • Output: candidates_active.candidate_id
  • Index Cond: (candidates_active.candidate_id = candidates.candidate_id)
  • Heap Fetches: 0