使用Spring Data在数据库中持久存储大量数据

时间:2018-06-21 08:29:53

标签: java spring spring-data-jpa spring-data batch-processing

我有一个API,可以给我n条记录,在这些记录上,我必须执行一些操作而不是保留数据。

  1. 对每个项目执行必要的操作将其保存在列表中,然后将该列表作为一个整体保存在数据库中。
  2. 对每个项目执行必要的操作,并将项目分别保存在数据库中。

我只想知道哪种方法更好,或者还有其他哪种方法比上面更好。

1 个答案:

答案 0 :(得分:0)

最好的方法将在您列出的两种方法之间。称为分块(Chunking),您可以在其中保留要保存的物品的列表,但是一旦达到最大批次大小,就可以保存。

这样,您可以减少方法1期间可能发生的数据库高负载和应用程序高内存消耗(当列表增加到数百万时)

您可以减少方法2期间可能发生的数据库往返(n个数据需要插入n个插入语句)。