ここでは抽象的にならないようにします。
外部データベースから多数のアイテムを照会し、独自の SQL データベースにそれぞれのオブジェクトを作成しています。
さて、私のクエリには間違いなく繰り返しがあります(避けられない)...したがって、実行時の観点からは、オブジェクトを作成してから繰り返しを削除するか、実際にオブジェクトを作成する前にこれを行う方が速いでしょうか?
オブジェクトを作成する前の SQLWHERE
クエリに時間がかかるようです。
私はRubyで作業しているので、後者の例を次に示します:
objects_hash.map { |d| Object.where(:attr1 => d["attr1"], :attr2 => d["attr2"]).exists? ? false : Object.create(:attr1 => d["attr1"], :attr2 => d["attr2"]) }