Oracle 子程序内联

-- 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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值