В качестве заголовка я использую Regexp_like в своих SQL-запросах Oracle, но производительность очень плохая.У меня есть следующий код:
SELECT ID, Name, Department, PhoneNumber, Address
FROM DPT.DP_vEmployee --vEmployee is a view
WHERE ID = :p_ID
AND REGEXP_LIKE(upper(Address), upper(:p_Address));
Я заполнил и запустил этот запрос, он вернул почти 6 с для 484 записей.Затем я попытался использовать операцию LIKE для этого случая:
SELECT ID, Name, Department, PhoneNumber, Address
FROM DPT.DP_vEmployee --vEmployee is a view
WHERE ID = :p_ID
AND (upper(address) LIKE upper('%' || :p_address || '%'));
В этом случае результат вернул 1,5 с для 484 записей.Хотя это сильно уменьшает, но это не делает меня удовлетворенным.
Есть ли другое решение, чтобы сделать это быстрее?
Спасибо!