作为标题,我在我的 oracle SQL 查询中使用 Regexp_like,但性能非常糟糕。我有以下代码:
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 || '%'));
在这种情况下,结果为 484 条记录返回 1.5 秒。虽然它减少了很多,但它并不让我满意。
有没有其他解决方案可以让它更快?
谢谢!