Java Spring批处理:读取器问题:用于形成域对象的多个输入查询
我有一个从数据库获取产品ID的阅读器查询 我的域对象也包含几个列表 我的提交计数是1000 因此,我的sql一次获取1000个项目(即1000个产品ID) 然而,在我的rowmapper中,我有10个其他查询,我为块中获取的每个产品Id运行这些查询。这些查询将返回许多行作为结果集。我解析这些结果集以设置域对象中的列表 这是创建一个完整域对象的方式,然后我将其传递给编写器,以便使用合适的映射器将其写入XML 然而,由于rowmapper中的这些查询在每次获取记录时都会运行,所以我的整个程序性能受到了严重的影响 我无法将这些查询与主读者查询结合起来 对于这样的需求,是否有任何解决方案来提高性能?我知道有什么方法可以对rowmapper中运行的查询进行并行处理以减少处理时间吗Java Spring批处理:读取器问题:用于形成域对象的多个输入查询,java,spring-batch,Java,Spring Batch,我有一个从数据库获取产品ID的阅读器查询 我的域对象也包含几个列表 我的提交计数是1000 因此,我的sql一次获取1000个项目(即1000个产品ID) 然而,在我的rowmapper中,我有10个其他查询,我为块中获取的每个产品Id运行这些查询。这些查询将返回许多行作为结果集。我解析这些结果集以设置域对象中的列表 这是创建一个完整域对象的方式,然后我将其传递给编写器,以便使用合适的映射器将其写入XML 然而,由于rowmapper中的这些查询在每次获取记录时都会运行,所以我的整个程序性能受到
谢谢你的阅读 对于您的具体问题:
并行化这种类型的场景还有其他选择,但是请记住,运行许多小查询会破坏数据库。并行运行它们只会加剧这个问题。您可能需要重新考虑这些子查询的结构。AsyncItemProcessor可能是我正在寻找的解决方案。。但是,您能给我指出一些可用的示例代码吗?看看这个示例: