我会尽量不要在这里抽象:
我正在从外部数据库查询大量项目并在我自己的 SQL 数据库中创建相应的对象。
现在,在我的查询中,肯定有重复(不可避免)......所以,从运行时的角度来看,创建对象然后删除重复或在实际创建对象之前执行此操作会更快吗?
创建对象之前的 SQL 查询似乎WHERE
需要很长时间。
我正在使用 Ruby,所以这里是后者的一个示例:
objects_hash.map { |d| Object.where(:attr1 => d["attr1"], :attr2 => d["attr2"]).exists? ? false : Object.create(:attr1 => d["attr1"], :attr2 => d["attr2"]) }