In case you have your own slow SQL query, you can optimize it automatically here.
For the query above, the following recommendations will be helpful as part of the SQL tuning process.
You'll find 3 sections below:
ALTER TABLE `assign_job` ADD INDEX `assign_job_idx_employee_id` (`employee_id`);
ALTER TABLE `emp_skills` ADD INDEX `emp_skills_idx_employee_id` (`employee_id`);
ALTER TABLE `employee` ADD INDEX `employee_idx_employee_id` (`employee_id`);
ALTER TABLE `employment` ADD INDEX `employment_idx_employee_id` (`employee_id`);
ALTER TABLE `ml_designations` ADD INDEX `ml_designations_idx_ml_id` (`ml_designation_id`);
ALTER TABLE `ml_projects` ADD INDEX `ml_projects_idx_project_id` (`project_id`);
ALTER TABLE `ml_skill_type` ADD INDEX `ml_type_idx_skill_id` (`skill_type_id`);
ALTER TABLE `position_management` ADD INDEX `position_managemen_idx_current_employement_id` (`current`,`employement_id`);
SELECT
*
FROM
(`emp_skills` ES)
INNER JOIN
`employee` E
ON `E`.`employee_id` = `ES`.`employee_id`
INNER JOIN
`ml_skill_type` MLST
ON `MLST`.`skill_type_id` = `ES`.`ml_skill_type_id`
INNER JOIN
`employment` ET
ON `ET`.`employee_id` = `E`.`employee_id`
INNER JOIN
`position_management` PM
ON `PM`.`employement_id` = `ET`.`employment_id`
AND PM.`current` = 1
INNER JOIN
`ml_designations` MLD
ON `MLD`.`ml_designation_id` = `PM`.`ml_designation_id`
LEFT JOIN
`assign_job` AJ
ON `AJ`.`employee_id` = `E`.`employee_id`
LEFT JOIN
`ml_projects` MLP
ON `MLP`.`project_id` = `AJ`.`project_id`
GROUP BY
`ES`.`employee_id`
ORDER BY
NULL