我有5行代码作为函数被调用100000次有一种方法可以使函数内联,这样我就不会在PL / SQL中遇到调用开销。 Oracle 9i是我正在使用的版本。
更新: 代码的内在没有太大的改进,但我增加了2秒。现在我在pl / sql中寻找高效版本的float数据类型。 BINARY FLOAT没有工作,NUMBER(10,5)就是已经就业的人。
答案 0 :(得分:1)
您已经确定函数调用开销对性能问题没有太大影响,因此无论如何内联都不会有用。
我假设您没有在PL / SQL中运行任何SQL或调用任何SQL函数?如果是这样的话,我会在那里看看。
您的下一个选项是本机编译 - 有关详细信息,请参阅Compiling PL/SQL Code for Native Execution。你可能会得到一些改进,因为你只做数学。
否则,您可能需要超越PL / SQL。您可以从PL / SQL调用用许多其他语言编写的代码,包括C,C ++和Java。有关详细信息,请参阅Calling External Procedures。