我有20k行候选数据的表格,其中我已经以html格式保存了CV(通过文本区域编辑器完成文档文件)。想要在该列中搜索并且其他一些列返回非常慢的响应并且一些时间显示超时错误。
以下是查询:
SELECT `candidate`.`id`, `candidate`.`email`, `candidate`.`fname`, `candidate`.`lname`, `candidate`.`id` as `can_id`, `candidate`.`update_date` AS `updated_at`, DATE_FORMAT(candidate.dob, '%d-%m-%Y') AS dob, `candidate`.`gender`, GROUP_CONCAT(DISTINCT candidate_experience.functional_area_name SEPARATOR ', ') AS can_functional_area, GROUP_CONCAT(DISTINCT candidate_experience.industry_type_name SEPARATOR ', ') AS can_industry_type_name, GROUP_CONCAT(DISTINCT qualification_name SEPARATOR ', ') AS qualification_name, GROUP_CONCAT(DISTINCT candidate_key_skills.name SEPARATOR ', ') AS skill, `candidate_desired_job`.`current_location`, `candidate_desired_job`.`total_experiance`, `candidate_desired_job`.`prefered_location`, `candidate_desired_job`.`notice_period`, IFNULL(candidate_desired_job.expected_salary, 'N') AS expected_salary
FROM `candidate`
LEFT JOIN `candidate_key_skills` ON `candidate_key_skills`.`candidate_id` = `candidate`.`id`
LEFT JOIN `candidate_qualification` ON `candidate_qualification`.`candidate_id` = `candidate`.`id`
LEFT JOIN `candidate_desired_job` ON `candidate_desired_job`.`candidate_id` = `candidate`.`id`
LEFT JOIN `candidate_experience` ON `candidate_experience`.`candidate_id` = `candidate`.`id`
WHERE (
`name` LIKE '%PHP%' ESCAPE '!'
)
AND (
`prefered_location` LIKE '%Ahmedabad%' ESCAPE '!'
)
AND `total_experiance` >= '-1'
AND `total_experiance` <= '40'
AND `expected_salary` >= '0'
AND `expected_salary` <= '500000'
AND (
`candidate_experience`.`industry_type_name` LIKE '%Accommodation and Food Services%' ESCAPE '!'
)
OR `carrier_summary` LIKE '%PHP%' ESCAPE '!'
OR `carrier_summary` LIKE '%Ahmedabad%' ESCAPE '!'
OR `carrier_summary` LIKE '%Accommodation and Food Services%' ESCAPE '!'
AND `candidate`.`id` >0
GROUP BY `candidate_key_skills`.`candidate_id`, `candidate_desired_job`.`id`
ORDER BY `candidate_desired_job`.`id` DESC
表架构:
数据格式:
我也试过Ajax,但还需要时间。