Plsql 包加载开销

Plsql 包加载开销,plsql,Plsql,我有大约30个程序/功能的软件包。这将从多个位置调用。在一个地方,它只使用了30个函数中的2个。当调用包时,它将加载内存中的所有proc/函数。然而,在这种情况下,这是一个开销。有没有办法避免这种情况 注意:-我无法再次创建这两个过程/函数。我想您已经回答了自己的问题。包作为单个单元加载到内存中。如果您不能将该包中的函数/过程分离到另一个包中以节省“开销”,那么您就排除了所有选项 问题是什么?内存开销?引用我不喜欢的源代码,但很方便,除非被调出,否则包只会加载到共享池内存中一次。可被视为开销的不

我有大约30个程序/功能的软件包。这将从多个位置调用。在一个地方,它只使用了30个函数中的2个。当调用包时,它将加载内存中的所有proc/函数。然而,在这种情况下,这是一个开销。有没有办法避免这种情况


注意:-我无法再次创建这两个过程/函数。

我想您已经回答了自己的问题。包作为单个单元加载到内存中。如果您不能将该包中的函数/过程分离到另一个包中以节省“开销”,那么您就排除了所有选项


问题是什么?内存开销?引用我不喜欢的源代码,但很方便,除非被调出,否则包只会加载到共享池内存中一次。可被视为开销的不是每个会话,而是每个实例

唯一需要关心的实际开销是通过包中全局声明的变量使用会话的PGA分配。

一旦从包中调用过程,整个包将加载到数据库内存空间。您不应该仅仅为了组织代码而创建包含常规过程的包。如果过程和函数相互关联,则将它们组合为一个包。如果没有,您应该为每个包创建新包。

同意。虽然有开销,但它是最小的。在设计新系统时,在共享池中加载包的开销应该是架构中最不需要考虑的问题。