我有一个返回开放SYS_REFCURSOR
的函数。该函数构建并执行一些不同的SQL查询并返回该游标。
我在PHP中使用该游标来获取结果,但性能并不好,因为无法预取游标数据,并且每行都有往返数据库服务器的行程。
我认为我会通过创建流水线函数来加快速度,这将使光标在参数和管道行中得到。
如何编写一个表函数,它将任何sys_refcursor作为参数并输出该游标的任何行类型的集合?
我已经编写了流水线表函数,但它们都是强类型的。在这种情况下,我宁愿不为每种可能的游标类型写n次行类型,表类型和单独的表函数...
修改
从SYS_REFCURSOR
获取数据的问题隐藏在我们的PHP代码中。
自版本11gR2起,预取正在与OCI一起使用。
由于我已经修复了预取bug,性能已经足够,我不再需要开发通用表函数。
感谢大家的支持和评论。