wm_concat函数在存过里性能问题

zhuohuiy 2014-10-11 04:14:20
写了个存过,用了这个函数,在这里能卡个二秒.语句拿出去执行只要零点几秒..谁知道怎么回事?另外是老版本,没有listagg函数.如果哪位大神有类似的优化的实现也发个吧,我试试看
...全文
786 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 2014-10-13
  • 打赏
  • 举报
回复
LZ 说一下你的 ORACLE 的版本。
zhuohuiy 2014-10-13
  • 打赏
  • 举报
回复
引用 7 楼 bw555 的回复:
你时间消耗是不是全部浪费在PL/SQL打开和断开连接上了?
不会啊,我断点进去,就消耗在这个函数的语句执行上了~
bw555 2014-10-13
  • 打赏
  • 举报
回复
你时间消耗是不是全部浪费在PL/SQL打开和断开连接上了?
zhuohuiy 2014-10-13
  • 打赏
  • 举报
回复
引用 4 楼 xifenfei 的回复:
10205 及其11g 返回是clob 类型,效率比较低
单语句执行还是比较快的,虽然也要0.几秒,但到存过里变成一个要二秒了 但奇怪刚在程序里看了下,执行还是不用这么久的.因为我在pl/sql里做test这个存过要跑五秒,在程序里三秒不到就出来页面了
zhuohuiy 2014-10-13
  • 打赏
  • 举报
回复
引用 3 楼 huangdh12 的回复:
这个应该不至于啊 。 你group 十来行的数据,应该不是这个函数导致的。
我单步执行的时候看到的,每个要停二秒左右.不过今天奇怪的是,在程序里并不会这么慢
惜分飞 2014-10-11
  • 打赏
  • 举报
回复
10205 及其11g 返回是clob 类型,效率比较低
huangdh12 2014-10-11
  • 打赏
  • 举报
回复
这个应该不至于啊 。 你group 十来行的数据,应该不是这个函数导致的。
zhuohuiy 2014-10-11
  • 打赏
  • 举报
回复
引用 1 楼 bw555 的回复:
你执行这个存储过程的数据量是不是太大了啊, 慢的应该不是这个函数,而是数据读取消耗,以及IO等待的时间,内存与缓存交互的时间等等
至少执行到这步的时候很小的数据,我行转列只有十来行的数据...
bw555 2014-10-11
  • 打赏
  • 举报
回复
你执行这个存储过程的数据量是不是太大了啊, 慢的应该不是这个函数,而是数据读取消耗,以及IO等待的时间,内存与缓存交互的时间等等

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧