Performance 将数据导出到csv文件:sqlplus vs sqlcl parallel vs pl/sql utl_文件dbms_parallel_execute,哪个更快

Performance 将数据导出到csv文件:sqlplus vs sqlcl parallel vs pl/sql utl_文件dbms_parallel_execute,哪个更快,performance,jdbc,plsql,sqlplus,sqlcl,Performance,Jdbc,Plsql,Sqlplus,Sqlcl,在我的上一个项目中,我们正在处理一个需要读取大量数据(4000万行)的需求,并且对于每一行,我们都需要触发一个进程。作为设计的一部分,我们使用了多线程,其中每个线程使用具有可配置提取大小的Jdbc游标提取给定分区的数据。然而,当我们在Prod环境中的应用程序中运行该作业时,我们观察到它的速度很慢,因为从数据库查询数据需要更多的时间 由于我们在完成作业执行时有非常紧张的时间线,因此我们提出了一个解决方案,将数据以csv文件格式从SQL Developer导出,并拆分为小文件。这些文件将提供给作业。

在我的上一个项目中,我们正在处理一个需要读取大量数据(4000万行)的需求,并且对于每一行,我们都需要触发一个进程。作为设计的一部分,我们使用了多线程,其中每个线程使用具有可配置提取大小的Jdbc游标提取给定分区的数据。然而,当我们在Prod环境中的应用程序中运行该作业时,我们观察到它的速度很慢,因为从数据库查询数据需要更多的时间

由于我们在完成作业执行时有非常紧张的时间线,因此我们提出了一个解决方案,将数据以csv文件格式从SQL Developer导出,并拆分为小文件。这些文件将提供给作业。这大大提高了工作绩效,有助于按时完成工作

如上所述,我们使用手动步骤将数据导出到文件中。如果这需要自动化这个步骤,例如从Java应用程序执行导出步骤,那么下面哪一个选项(在web上建议)会更快

  • sqlplus(Java对sqlplus进行本机调用)
  • 平行滑阀
  • 使用utl文件和dbms并行执行的pl/sql过程
  • 下面的链接提供了一些以上的细节,但没有统计数据

    请注意,目前我无法访问此Oracle环境,因此无法从我这边进行测试。此外,我是一名应用程序开发人员,在数据库方面没有太多专业知识。 因此,希望从早期从事过类似用例工作或具有相关专业知识的人那里获得建议


    提前感谢。

    40m行不是很大……主机箱上并行的SQLcl将是我的选择什么Oracle版本?是分区表上的数据吗?您的解决方案是PL/SQL吗?对同一数据库上的表执行insert/update/delete过程的结果?有一些方法可以使UTL_文件非常快。40m行不是很大…主机框上并行的SQLcl将是我的选择什么Oracle版本?是分区表上的数据吗?您的解决方案是PL/SQL吗?对同一数据库上的表执行insert/update/delete过程的结果?有一些方法可以使UTL_文件非常快速。