Sql 我在一个查询中使用了20个不同的函数。执行需要6个小时。如果我用包装有什么区别吗

Sql 我在一个查询中使用了20个不同的函数。执行需要6个小时。如果我用包装有什么区别吗,sql,plsql,oracle10g,Sql,Plsql,Oracle10g,我在一个查询中使用了20个不同的函数。执行需要6个小时。如果我将这些函数放在一个包中,并通过包调用它们,它是否会提高性能?包肯定是一条路要走,但出于编码标准的原因,更是如此,而不是性能。如果您的业务逻辑保持不变,那么您不太可能看到性能上的任何差异 在讨论包的使用而不是过程时,值得一读。他们还谈到了性能:No。声明它们确定性(如果它们是确定性的)可能会有所帮助,或者在12c中声明它们pragma udf,或者将它们包装在从双子查询中选择以获得一些标量子查询缓存,或者放弃函数并将逻辑放入SQL中。这

我在一个查询中使用了20个不同的函数。执行需要6个小时。如果我将这些函数放在一个包中,并通过包调用它们,它是否会提高性能?包肯定是一条路要走,但出于编码标准的原因,更是如此,而不是性能。如果您的业务逻辑保持不变,那么您不太可能看到性能上的任何差异


在讨论包的使用而不是过程时,值得一读。他们还谈到了性能:

No。声明它们
确定性
(如果它们是确定性的)可能会有所帮助,或者在12c中声明它们
pragma udf
,或者将它们包装在
从双
子查询中选择以获得一些标量子查询缓存,或者放弃函数并将逻辑放入SQL中。这完全取决于他们在做什么。