我确实执行以下步骤:(这整个过程是一个Java进程的一部分)
- 从其余Web服务获取父项列表。
- 对于每个项目,我们从数据库中获得子列表。
- 对于每个子列表,通过传递子列表从其余Web服务获取其详细信息。返回的详细信息是每个客户的,因此响应为列表
- 此详细信息存储在一个包含子级详细信息的最终父级列表中。
注意:步骤3和4是循环。
执行以下步骤之后:
- 包含详细信息的最终父列表被保存到数据库中。为了保存起见,已使用spring jdbc模板和一个fork联接池,因为列表很大。数据库是Sybase。
- 最终父列表用于创建BCP文件。
但是问题是最终父列表太大,从而导致堆空间问题。
有人建议每次都将子详细信息列表刷新到DB和BCP文件,而不要等到结束并使用最终父列表。并并行加载并保存它们。我认为这会增加数据库命中率。
请提出想法。