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:
CREATE INDEX credit_request_idx_evaluator_id_request_id ON credit_request (evaluator_id,request_id);
CREATE INDEX evaluator_idx_evaluator_id ON evaluator (evaluator_id);
CREATE INDEX requestor_idx_request_id_last_txt ON requestor (request_id,last_name_txt);
CREATE INDEX requestor_idx_soc_txt_request_id ON requestor (soc_sec_num_txt,request_id);
SELECT
cr_client_app_id,
cr_personal_flg,
r_requestor_type_id
FROM
((SELECT
cr.client_app_id AS cr_client_app_id,
cr.personal_flg AS cr_personal_flg,
r.requestor_type_id AS r_requestor_type_id
FROM
credit_request cr,
requestor r,
evaluator e
WHERE
cr.evaluator_id = 96
AND cr.request_id = r.request_id
AND cr.evaluator_id = e.evaluator_id
AND cr.request_id != 143462
AND (
(
lower(r.first_name_txt) = 'test'
AND lower(r.last_name_txt) = 'newprogram'
AND to_char(r.birth_dt, 'MM/DD/YYYY') = '01/02/1960'
AND r.last_name_txt IS NOT NULL
AND r.first_name_txt IS NOT NULL
AND r.birth_dt IS NOT NULL
)
))
UNION
DISTINCT (SELECT
cr.client_app_id AS cr_client_app_id,
cr.personal_flg AS cr_personal_flg,
r.requestor_type_id AS r_requestor_type_id
FROM
credit_request cr,
requestor r,
evaluator e
WHERE
cr.evaluator_id = 96
AND cr.request_id = r.request_id
AND cr.evaluator_id = e.evaluator_id
AND cr.request_id != 143462
AND ((r.soc_sec_num_txt = 'xxxxxxxxx'
AND r.soc_sec_num_txt IS NOT NULL)))
) AS union1