我有一个读取器查询,它从数据库中获取产品ID。
我的域对象也包含多个列表。
我的提交次数为1000次。
因此,我的sql一次获取1000个项目(即1000个产品ID)。
但是,在我的rowmapper中,我为块中提取的每个Product Id运行了10个其他查询。这些查询返回了许多行作为结果集。我解析这些结果集来设置我的域对象中的列表。
这是创建一个完整域对象的方式,然后我将其传递给编写器,以便使用合适的映射器写入XML。
但是,由于rowmapper中的这些查询针对每次记录提取运行,因此我的整体程序性能受到严重影响。
我无法将这些查询与主读者查询相结合。
对于提高性能的这种要求,有没有解决方案?我有什么方法可以对rowmapper中运行的查询进行一些并行处理,以减少处理时间?
感谢阅读!
答案 0 :(得分:1)
针对您的具体问题:
存在用于并行化此类场景的其他选项,但请记住,运行许多小查询会打败您的数据库。并行运行它们只会加剧这个问题。您可能需要重新考虑这些子查询的结构。