オリエントDBに一括して挿入したいレコードが約10,000あります。 私の問題はレコードの一部が既にDBに存在することです(私はいくつかのユニークなフィールドに基づいて決定します)。だから私のバッチ操作は、既存のレコードを更新して、既存のレコードを新規作成する必要があります。特定のバッチファイルに対して同じレコードが別の値(別のフィールドを除く)で2回発生する可能性があります。そのようなレコードも更新される必要があります。OrientDBのバッチインサート
例:上記の操作のために
description firstName lastName title organization currentStage inCurrentStageAsOf serviceLevelMonitored description1 John Doe CEO organization1 Existing 1012001 Availability description2 Jane Doe CIO organization2 End-of-Life 2022002 Performance description3 Jane Doe CIO organization2 End-of-Life 2022002 Performance description2 Jane Joe CIO organization2 End-of-Life 2022002 Performance description4 Jane Doe CIO organization2 End-of-Life 2022002 Performance description5 Jane Doe CIO organization2 End-of-Life 2022002 Performance description6 Jane Doe CIO organization2 End-of-Life 2022002 Performance description7 Jane Doe CIO organization2 End-of-Life 2022002 Performance description8 Jane Doe CIO organization2 End-of-Life 2022002 Performance description9 Jane Doe CIO organization2 End-of-Life 2022002 Performance description10 Jane Doe CIO organization2 End-of-Life 2022002 Performance description11 Jane Doe CIO organization2 End-of-Life 2022002 Performance description2 Jane Doe organization2 End-of-Life 2022002 Performance
私のユニークなフィールドが記述とlastNameある場合。私はRec2とRec13でファイルに重複レコードを持っていますが、Rec4は重複していません。また、レコードの一部がすでにDBに存在する可能性があります。
私のファイルが巨大であれば、どのようにバッチを適用するのですか? 私が考えることができるのは、Rec Asが存在するかどうかを見つけるためのDBへのファイアasynスレッドです。既存のレコードのIDを更新し、全体を2つに分けます(更新するレコードと作成するレコード)別々に更新してください。ワンショットでやることがあればアドバイスを探します。 ありがとうございます。
こんにちはあなたは 'UPERT UPERT'を考えましたか? –
http://orientdb.com/docs/2.1/SQL-Update.html –