目前有一个棘手的问题,需要最有效的解决方法的想法。
我们定期迭代大型CSV文件(~50000到2m行),对于每一行,我们需要检查数据库表是否匹配列。
因此,例如,每个CSV行可以包含有关事件的详细信息 - 艺术家,地点,日期/时间等,对于每一行,我们检查数据库(PG)以查找与艺术家,地点和日期/时间最匹配的任何行,如果找到任何匹配项,则执行操作。
目前,整个过程是高度CPU,内存和时间密集的逐行拉动,所以我们分批执行匹配,但仍然寻求一种有效的方式来进行内存和时间比较的想法
谢谢。
这会将大部分负载转移到DB服务器中,从而避免所有ActiveRecord开销(网络流量,结果解析,模型实例化等)