4

我有 5 行代码作为被调用 100000 次的函数,有没有办法使函数内联,这样我就不会在 PL/SQL 中遇到调用开销。Oracle 9i 是我正在使用的版本。

更新:代码的内衬没有太大的改进,但我获得了 2 秒。现在我正在寻找 pl/sql 中浮点数据类型的有效版本。BINARY FLOAT 不起作用,NUMBER(10,5) 是已经被使用的那个。

4

1 回答 1

1

您已经确定函数调用开销对性能问题的影响不大,因此无论如何内联在这里都没有帮助。

我假设您没有在 PL/SQL 中运行任何 SQL 或调用任何 SQL 函数?如果是这样,我会看下一个。

您的下一个选项是本机编译 - 有关详细信息,请参阅为本机执行编译 PL/SQL 代码。你可能会得到一些改进,因为你只是在做数学。

否则,您可能需要超越 PL/SQL。您可以从 PL/SQL 调用以许多其他语言编写的代码,包括 C、C++ 和 Java。有关详细信息,请参阅调用外部过程

于 2010-04-27T01:35:47.080 回答