-- Start
如果子程序 A 调用 B,内联可以把 B 的代码合并到 A 中,从而减少子程序调用,提高性能,下面是一个简单的例子。
-- 子程序 A
PROCEDURE A
IS
BEGIN
-- 指定下面的子程序 B 内联
PRAGMA INLINE (B, 'YES')
B(1);
-- 注意此处的子程序不会内联
B(2);
END A;
-- 子程序 B
PROCEDURE B (x PLS_INTEGER)
IS
BEGIN
DBMS_OUTPUT.PUT_LINE(x);
END B;
如果你觉得在每一个子程序调用前加上 PRAGMA INLINE 在麻烦,你可以将编译参数 PLSQL_OPTIMIZE_LEVEL 设置为 3 (默认值是2),这样 Oracle 会把每一个子程序调用都内联。
--更多参见:Oracle SQL 优化精萃
-- 声明:转载请注明出处
-- Last edited on 2015-06-29
-- Created by ShangBo on 2015-06-29
-- End