

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

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

 建議使用不同的批次大小進行實驗，以判斷哪些項目最適合您的工作負載。