Я ищу способ лучше структурировать свой запрос, чтобы уменьшить время выполнения.Мой главный вопрос - как заменить оператор LEFT JOIN
на более эффективную конструкцию.В настоящее время я не могу понять, что выбрать.
SELECT *
FROM v_time_booking tb
LEFT JOIN employee e ON e.employee_short_id::text = tb.employee_id::text
LEFT JOIN employee_work_contract ewc ON e.employee_id = ewc.employee_id AND ewc.begin_date <= tb.booking_day AND ewc.end_date >= tb.booking_day
LEFT JOIN employee_skill_level_project esl ON e.employee_id = esl.employee_id AND esl.project_id::text = tb.project_id::text
LEFT JOIN skill_level_hour_rate slhr ON slhr.skill_level_id = esl.skill_level_id AND slhr.project_id::text = esl.project_id::text
LEFT JOIN skill_level skl ON skl.skill_level_id = esl.skill_level_id
LEFT JOIN project p ON p.project_id::text = tb.project_id::text
LEFT JOIN hourly_office_costs hoc ON tb.booking_day >= hoc.start AND tb.booking_day <= hoc."end";