对批量输入使用 UNWIND(而非单个语句) - Amazon Neptune
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

对批量输入使用 UNWIND(而非单个语句)

当需要对不同的输入执行相同查询时,对批量输入运行一个查询比对每个输入执行一个查询更高效。

如果您想在一组节点上合并,可以选择对每个输入运行一个合并查询:

MERGE (n:Person {`~id`: $id}) SET n.name = $name, n.age = $age, n.employer = $employer

参数为:

params = {id: '1', name: 'john', age: 25, employer: 'Amazon'}

需要对每个输入执行上述查询。虽然这种方法行得通,但可能需要为大量输入执行许多查询。在这种情况下,批处理可能有助于减少在服务器上执行的查询数量,并提高整体吞吐量。

请使用以下模式:

UNWIND $persons as person MERGE (n:Person {`~id`: person.id}) SET n += person

参数为:

params = {persons: [{id: '1', name: 'john', age: 25, employer: 'Amazon'}, {id: '2', name: 'jack', age: 28, employer: 'Amazon'}, {id: '3', name: 'alice', age: 24, employer: 'Amazon'}...]}

建议尝试不同的批次大小,以确定哪种批次最适合您的工作负载。