gpt4 book ai didi

java - OrientDB中批量插入

转载 作者:行者123 更新时间:2023-12-01 21:23:09 26 4
gpt4 key购买 nike

我有大约 10,000 条记录(大约),我想在 Orient DB 中进行批量插入。我的问题是数据库中已经存在一些记录(我根据一些独特的字段决定)。因此,我的批处理操作应该更新现有记录并为不存在的记录创建新记录。对于给定的批处理文件,相同的记录可能会以不同的值出现两次(除了唯一字段),这样的记录也应该更新。

示例:

description firstName   lastName    title           organization    currentStage    inCurrentStageAsOf  serviceLevelMonitoreddescription1    John    Doe         CEO             organization1   Existing        1012001             Availabilitydescription2    Jane    Doe         CIO             organization2   End-of-Life     2022002             Performancedescription3    Jane    Doe         CIO             organization2   End-of-Life     2022002             Performancedescription2    Jane    Joe         CIO             organization2   End-of-Life     2022002             Performancedescription4    Jane    Doe         CIO             organization2   End-of-Life     2022002             Performancedescription5    Jane    Doe         CIO             organization2   End-of-Life     2022002             Performancedescription6    Jane    Doe         CIO             organization2   End-of-Life     2022002             Performancedescription7    Jane    Doe         CIO             organization2   End-of-Life     2022002             Performancedescription8    Jane    Doe         CIO             organization2   End-of-Life     2022002             Performancedescription9    Jane    Doe         CIO             organization2   End-of-Life     2022002             Performancedescription10   Jane    Doe         CIO             organization2   End-of-Life     2022002             Performancedescription11   Jane    Doe         CIO             organization2   End-of-Life     2022002             Performancedescription2    Jane    Doe                         organization2   End-of-Life     2022002             Performance

对于上述操作,如果我的唯一字段是描述和姓氏。然后我在 Rec2 和 Rec13 文件中有重复的记录,但是 Rec4 不重复。也有可能某些记录已经存在于数据库中。

如果我的文件很大,我该如何应用批处理?我现在能想到的是向数据库触发异步线程以查找Rec是否存在,然后更新现有记录的Id并将整个记录分成两个(要更新和要创建的记录)以及用于创建和更新的应用批处理分别地。如果有什么事情可以一次性完成,只是寻求建议。谢谢。

最佳答案

您可以使用UPDATE UPSERT来完成此操作。

manual 中所述您需要对感兴趣的属性有一个唯一索引,所以在您的情况下

CREATE INDEX yourClass.desc_lastName ON yourClass (description,lastName) UNIQUE_HASH_INDEX

然后您可以使用更新(例如,对于您的第一条记录):

UPDATE yourClass set description="description1",firstName="John",lastName="Doe",title="",organization="organization1",currentStage="Existing" UPSERT WHERE description="description1" AND lastName="Doe"

关于java - OrientDB中批量插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38821904/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com