Oracle 子程序内联
2015-06-29 14:15
363 查看
-- Start
如果子程序 A 调用 B,内联可以把 B 的代码合并到 A 中,从而减少子程序调用,提高性能,下面是一个简单的例子。
如果你觉得在每一个子程序调用前加上 PRAGMA INLINE 在麻烦,你可以将编译参数 PLSQL_OPTIMIZE_LEVEL 设置为 3 (默认值是2),这样 Oracle 会把每一个子程序调用都内联。
--更多参见:Oracle SQL 优化精萃
-- 声明:转载请注明出处
-- Last edited on 2015-06-29
-- Created by ShangBo on 2015-06-29
-- End
如果子程序 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
相关文章推荐
- WMB 使用Compute节点连接Oracle数据库实例
- 日期函数 MONTHS_BETWEEN
- 使用Talend Open Studio将数据分步从oracle导入到hive中
- Oracle批量执行SQL文件
- oracle数据库使用之数据查询入门
- oracle数据库使用之数据查询入门
- oracle数据库使用之数据查询入门
- oracle数据库使用之数据查询入门
- DBA成长箴言
- Oracle SQL 优化精萃
- Oracle 11gR2修改服务器端字符集
- C#连接Oracle数据库的方法
- Oracle 数据库命令导入、导出
- 在oracle数据库中如果查询一个数据库中有哪几张表?
- Oracle中 Instr 这个函数
- oracle ORA-01000: maximum open cursors exceeded问题的解决方法
- ORACLE的sign函数和DECODE函数
- oracle代理用户
- oracle数据库敏感操作前创建还原点
- oracle数据快速删除