Jdbc 如何使用springbatch将一组记录从数据库一次加载到中间层

Jdbc 如何使用springbatch将一组记录从数据库一次加载到中间层,jdbc,oracle11g,spring-batch,Jdbc,Oracle11g,Spring Batch,以下是我的要求: 我在Oracle 11i DB中存储了大约120万行数据 我想将所有这些数据写入一个.txt文件 我应该使用的技术有:SpringBatch 2.1.15、Oracle11i、Spring、CoreJava、plsql 现在我尝试使用StoredProcedureItemReader加载此数据。我的数据库过程正在返回一个ref游标。它需要花费很多时间,因为它是一行一行地加载。只需写10000行,需要2分钟 然后我尝试将fetchSize设置为10000。仍然没有改善。即使使用f

以下是我的要求:

  • 我在Oracle 11i DB中存储了大约120万行数据
  • 我想将所有这些数据写入一个.txt文件
  • 我应该使用的技术有:SpringBatch 2.1.15、Oracle11i、Spring、CoreJava、plsql
  • 现在我尝试使用
    StoredProcedureItemReader
    加载此数据。我的数据库过程正在返回一个ref游标。它需要花费很多时间,因为它是一行一行地加载。只需写10000行,需要2分钟

    然后我尝试将
    fetchSize
    设置为10000。仍然没有改善。即使使用
    fetchsize
    也需要2分钟才能写入10000行

    根据Spring文档,
    fetchsize
    将指示它应该从数据库中一次将指定数量的行提取到中间层


    如果fetchsize只是对JDBC驱动程序的一个提示,那么我如何授权它,或者有什么好的方法吗?

    当然,您可以使用
    spring batch
    ,但为什么呢?您可以使用oracle本身,这肯定会更高效。谢谢你,比尔巴杰。生成文件后,我必须执行SFTP。并且需要在每周的基础上完成这项任务。为了做到这一点,我已经在SpringBatch上实现了一个框架,所以我更喜欢SpringBatch。从概念上讲,使用存储过程并不是最好的ans,这是速度减慢的一个原因。为什么不能使用view+
    JdbcCursorItemReader