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 `department` ADD INDEX `department_idx_dept_no` (`dept_no`);
ALTER TABLE `emp_address_phone` ADD INDEX `emp_phone_idx_emp_no_country` (`emp_no`,`country`);
ALTER TABLE `emp_dept` ADD INDEX `emp_dept_idx_emp_no` (`emp_no`);
ALTER TABLE `emp_salary` ADD INDEX `emp_salary_idx_emp_no_pf` (`emp_no`,`pf`);
ALTER TABLE `emp_title` ADD INDEX `emp_title_idx_emp_no` (`emp_no`);
ALTER TABLE `employee` ADD INDEX `employee_idx_hire_date` (`hire_date`);
ALTER TABLE `title` ADD INDEX `title_idx_title_no_title_created` (`title_no`,`title_created`);
SELECT
e.emp_no,
concat(e.first_name,
' ',
e.last_name),
d.dept_name,
t.title_name,
es.salary,
es.insurance,
es.pf,
ea.city,
ea.state,
ea.phone
FROM
employee e
JOIN
emp_salary es
ON e.emp_no = es.emp_no
JOIN
emp_title et
ON et.emp_no = e.emp_no
JOIN
title t
ON t.title_no = et.title_no
JOIN
emp_address_phone ea
ON ea.emp_no = e.emp_no
JOIN
emp_dept ed
ON e.emp_no = ed.emp_no
JOIN
department d
ON d.dept_no = ed.dept_no
WHERE
(
e.hire_date > '2004-01-01'
OR e.hire_date < '1980-01-01'
)
AND (
es.pf > 4.25
OR es.pf < 1.4
)
AND (
t.title_created > '2006-01-01'
)
AND (
ea.country IN (
'Spain', 'Samoa', 'India'
)
)