只是看看是否有任何方法可以采取以下行为。
目前我在做
select * from table_1 t1 where function_call(t1.col1, t1.col2) <> 0;
我调用函数function_call的原因是,该函数有表table_2,我没有访问权限。我可以访问的唯一方法是通过一个包。
是否有任何改变上述行为的方法,在from子句中使用表信息,而不是在where子句中调用function_call。
喜欢,
select * from table_1 t1, package_x.get_table_2() where t1.col1 = 1 and t1.col2 = 1 and t1.col3 = t2.col3
答案 0 :(得分:1)
我同意从WHERE子句调用函数可能会导致性能降低,因为这很可能会导致TABLE_1
的完整表扫描,并且TABLE_1
中的每一行都会调用一次函数}。我可以想到您的网站可以做的几件事:
分享并享受。