我必须处理一个文件,该文件具有相同 ID 和不同日期的记录。如果特定 ID 有多个日期不同的记录,则必须将所有记录相加。目前,我的解决方案是按一个块编写并让 SQL 查询来做求和部分,因为我无法知道相同 ID 的多个条目是否在同一个块中。这样做是否会产生巨大的性能影响,尤其是我正在处理价值 10 万的数据?
这样做是否会产生巨大的性能影响,尤其是我正在处理价值 10 万的数据?
是的,这可能会影响您的步骤的性能,因为每个项目都将在其自己的事务中进行处理。使用 100k,您将有 100k 个事务,而如果 chunk-size=1000,例如,您将只有 100 个事务。
面向块的处理模型并不真正适合您要执行的操作,因为具有相同 ID 的项目可能跨越不同的块。这种需求的一种常用技术是将数据加载到临时表中(例如,如果针对 sqlite 完成,这可能是一个非常快的步骤),然后针对该表运行聚合 SQL 查询。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句