I need to fine tune the below query fro better performance, please help.
Select FNAME, MNAME, SURNAME, DOB, ADDRESS, PHONE from INDIVIDUAL_DATA
WHERE DOB = V_DOB
AND (SURNAME = V_SURNAME
OR (SURNAME LIKE '%' || ' ' || V_SURNAME)
OR (SURNAME LIKE V_SURNAME || ' ' || '%')
OR (SURNAME LIKE '%' || ' ' ||
V_SURNAME || ' ' || '%'));
I have an index on DOB and SURNAME.
I have a huge amount of data.
please suggest ways to fine tune it. or any alternate to pattern match using LIKE predicate.