

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 对批量输入使用 UNWIND（而非单个语句）
<a name="best-practices-content-14"></a>

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

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

```
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'}...]}
```

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