xzsfg6825 2017-09-20 02:18 采纳率: 0%
浏览 663

oracle 自定义聚合函数处理clob时间过长的问题如何解决

大神们,现有一问题,我自定义了一个类型和函数,用来聚合处理一个表中的某个字段的所有值,如下是类型图片说明图片说明
然后我又写了个存储过程用来执行这个函数,存储过程如下:图片说明其中我把TEST_TABLE_ORDER表中的position字段和strain字段的所有值都使用自定义的类型函数聚合存到了两个clob里面,进而存入了Test_Table_Info表中,这个过程和原理都没什么问题,存储过程可以正常执行,但是执行一次需要2分30秒的时间才能完成一次聚合,聚合的原数据存储形式为如下:
图片说明
聚合之后的数据存储形式为如下:图片说明其中position_clob和strain_clob字段都是clob数据类型,存储聚合之后的数据

目前我经过网上查资料,暂时这么解决字符串聚合问题的,但是用时太长了,无法满足项目要求,最好是把聚合存储和截取读取的时间控制在60秒或60秒之内,这样就可以了,所以再次想请教各位大神们这个该怎么优化啊?要是我这个无法优化的话,该换个啥方法呀?

  • 写回答

1条回答

  • lshen01 2023-03-16 10:29
    关注

    参考GPT和自己的思路:

    首先需要确定聚合存储和截取读取的具体时间是哪个环节造成的,是存储过程中的自定义聚合函数操作还是读取操作。其次可以尝试使用Oracle内置的聚合函数CONCAT来代替自定义的聚合函数,看是否可以提高效率。如果仍然无法满足项目需求,可以考虑使用分布式计算或者优化数据库结构等方法来提高性能。

    评论

报告相同问题?

悬赏问题

  • ¥15 msix packaging tool打包问题
  • ¥28 微信小程序开发页面布局没问题,真机调试的时候页面布局就乱了
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线