Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用spring rest和数据jpa插入100万条记录的最佳方法_Spring_Hibernate_Spring Boot_Spring Data Jpa_Cloud Foundry - Fatal编程技术网

使用spring rest和数据jpa插入100万条记录的最佳方法

使用spring rest和数据jpa插入100万条记录的最佳方法,spring,hibernate,spring-boot,spring-data-jpa,cloud-foundry,Spring,Hibernate,Spring Boot,Spring Data Jpa,Cloud Foundry,当我们试图使用spring批量插入来插入1百万条记录时,我们最终得到了超过1分钟的时间和定制的pivotal cloud foundry向客户端返回502个错误的网关响应,即使实际的数据插入发生在后台 您能告诉我处理批量数据插入的最佳方法吗?我认为spring batch是正确的方法 好的,我会通过API上传文件并返回一个进程id。稍后我可以询问进程的状态,如果完成了,或者失败了,或者其他什么。此实施细节取决于。在这种情况下,上载包含10个条目(1.000.000或100.000.000条目的文

当我们试图使用spring批量插入来插入1百万条记录时,我们最终得到了超过1分钟的时间和定制的pivotal cloud foundry向客户端返回502个错误的网关响应,即使实际的数据插入发生在后台


您能告诉我处理批量数据插入的最佳方法吗?我认为spring batch是正确的方法

好的,我会通过API上传文件并返回一个进程id。稍后我可以询问进程的状态,如果完成了,或者失败了,或者其他什么。此实施细节取决于。在这种情况下,上载包含10个条目(1.000.000或100.000.000条目的文件)并不重要

但是在阅读包含大量条目的文件时,我建议将它们分块处理。这非常适合于将内存中的数据保持在较小的位置,并一次性保存大量数据(块大小)。当然,您不应该一次加载文件,如果可能的话,可以使用stream,或者逐行读取文件

当持久化数据时,您将成批地持久化数据块。使用PreparedStatemant及其addBatch/executeBatch命令,在我看来,这是在应用程序中执行此操作的最快方法

baeldung有两个很好的条目,你应该阅读:

-看一下块部分


-通过编写最佳代码查看PreparedStatement

?但是你没有提供你的代码让我知道它是否有效,或者你是否需要更多的帮助。