我正在使用 OrientDB 2.1.4 和 blueprints-core-2.6.0。
我需要更新现有顶点上的值或创建新顶点(如果不存在)。(预计每 45 秒有 30k 个顶点)
我的顶点类是:Device(Name, Type, ActiveSessionCount) - 每个设备的“名称”是一个唯一的实体。
如果设备存在,则需要更新设备上的 ActiveSessionCount,否则创建一个新的设备顶点。
if (graph.getVertices(keyName, key).iterator().hasNext()) {
vertex = (OrientVertex) graph.getVertices(keyName, key).iterator().next();
} else {
vertex = graph.addVertex(className, attributeName, key);
}
我正在尝试检查顶点是否存在,如果顶点已经存在,我已经获取了顶点对象以进行进一步更新,否则创建了一个新的顶点对象。
虽然,这行得通,但执行 30k 条记录需要几分钟,而我需要在 45 秒内完成。