I have the query below. When I use LEFT OUTER JOIN my query is very slow. It took more than 1 minute for the query to complete. Is there a way I can improve query speed while still using LEFT OUTER JOIN?
SELECT RISK.RA_HAZ_ID,
RISK.RA_CTRL_ID,
RISK.RA_HAZ_HAZARD_NAME,
RISK.RA_CTRL_CONTROL_NAME,
RISK.RA_CTRL_CONTROL_ID,
RISK.RA_IS_ESCALATED,
RISK.RA_IS_CONSEQUENCE,
RISK.RA_CTRL_OUTCOME,
RISK.RA_HAZ_IS_ALARP,
RISK.RA_HAZ_CONSEQUENCE,
RISK.RA_STEP_ORDER,
RISK.RA_STEP_NAME,
RISK.RA_HAZ_TYPE_NAME,
RISK.RA_CTRL_IS_REQUIRED,
RISK.RA_CTRL_IS_PRE_SELECTED,
RISK.RA_CTRL_IS_SELECTED,
RISK.RA_HAZ_SORT_ORDER,
RISK.RA_HAZ_COMMENT,
RISK.RA_CONTROL_COMMENT,
RISK.INIT_RISK,
RISK.RES_RISK,
RISK.RA_MATRIX_ID,
RISK.RES_RISK_LEVEL,
RISK.INIT_RISK_LEVEL,
MAX(RISK.RA_CTRL_ASSIGNED_FULL_NAME) AS RA_CTRL_ASSIGNED_FULL_NAME
FROM PRINT_RISK_ASSESSMENT_DETAILS RISK
LEFT OUTER JOIN PRINT_JSA_REFERENCE JSA ON JSA.OWNING_ACTIVITY_ID = RISK.OWNING_ACTIVITY_ID
WHERE JSA.ACTIVITY_ID = 10977 OR RISK.OWNING_ACTIVITY_ID = 10977
GROUP BY RISK.RA_HAZ_ID,
RISK.RA_CTRL_ID,
RISK.RA_HAZ_HAZARD_NAME,
RISK.RA_CTRL_CONTROL_NAME,
RISK.RA_CTRL_CONTROL_ID,
RISK.RA_IS_ESCALATED,
RISK.RA_IS_CONSEQUENCE,
RISK.RA_CTRL_OUTCOME,
RISK.RA_HAZ_IS_ALARP,
RISK.RA_HAZ_CONSEQUENCE,
RISK.RA_STEP_ORDER,
RISK.RA_STEP_NAME,
RISK.RA_HAZ_TYPE_NAME,
RISK.RA_CTRL_IS_REQUIRED,
RISK.RA_CTRL_IS_PRE_SELECTED,
RISK.RA_CTRL_IS_SELECTED,
RISK.RA_HAZ_SORT_ORDER,
RISK.RA_HAZ_COMMENT,
RISK.RA_CONTROL_COMMENT,
RISK.INIT_RISK,
RISK.RES_RISK,
RISK.RA_MATRIX_ID,
RISK.RES_RISK_LEVEL,
RISK.INIT_RISK_LEVEL
ORDER BY RISK.RA_STEP_ORDER,
RISK.RA_HAZ_SORT_ORDER,
RISK.RA_HAZ_HAZARD_NAME,
RISK.RA_HAZ_TYPE_NAME DESC,
RISK.RA_CTRL_IS_REQUIRED DESC,
RISK.RA_CTRL_IS_PRE_SELECTED DESC,
RISK.RA_CTRL_CONTROL_NAME
I want to improve query speed while still using LEFT OUTER JOIN