Function PL/SQL中的管道化vs表类型返回函数

Function PL/SQL中的管道化vs表类型返回函数,function,optimization,plsql,Function,Optimization,Plsql,管道化PL/SQL函数与未管道化且具有返回类型的记录表集合的函数相比有哪些优点和缺点。如果可能的话,请举例说明情况?我想,使用流水线函数,您的函数可以创建无限/无限的结果集。例如,该函数可以返回自然数或斐波那契序列。在查询中使用它时,可以添加where rownum

管道化PL/SQL函数与未管道化且具有返回类型的记录表集合的函数相比有哪些优点和缺点。如果可能的话,请举例说明情况?

我想,使用流水线函数,您的函数可以创建无限/无限的结果集。例如,该函数可以返回自然数或斐波那契序列。在查询中使用它时,可以添加where rownum<100以将输出限制为实际需要的长度

另一个实际上更重要的区别是,如果不使用流水线表函数,则必须先计算完整的结果集,然后才能使用它。 如果计算结果很慢/成本很高,这可能会非常重要。 通常,用户只想看到前N行,这就是为什么存在第一行优化器模式。 换句话说,只有流水线表函数才支持第一行,因为只有在需要时才计算结果


将此与在internet上查找内容相比较:通常情况下,您会在结果集的第一页上找到有趣的链接,而您对以下数百万次点击并不感兴趣。

听起来很合理:@hvb