

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

# 使用單一 SET 子句一次設定多個屬性
<a name="best-practices-content-0"></a>

 使用映射一次為實體設定多個屬性，而不是使用多個 SET 子句來設定個別屬性。

 您可以使用：

```
MATCH (n:SomeLabel {`~id`: 'id1'})
SET n += {property1 : 'value1',
property2 : 'value2',
property3 : 'value3'}
```

 而不是：

```
MATCH (n:SomeLabel {`~id`: 'id1'})
SET n.property1 = 'value1'
SET n.property2 = 'value2'
SET n.property3 = 'value3'
```

 SET 子句接受單一屬性或映射。如果更新單一實體上的多個屬性，使用具有映射的單一 SET 子句允許在單一操作中執行更新，而不是以更有效率的方式執行多個操作。

## 使用 SET 子句一次移除多個屬性
<a name="best-practices-content-1"></a>

 使用 openCypher 語言時，REMOVE 用於從實體移除屬性。在 Neptune 中，每個要移除的屬性都需要個別的操作，以新增查詢延遲。您可以改為使用 SET 搭配映射，將所有屬性值設定為 `null`，其在 Neptune 中等同於移除屬性。需要移除單一實體上的多個屬性時，Neptune 將提高效能。

使用：

```
WITH {prop1: null, prop2: null, prop3: null} as propertiesToRemove 
MATCH (n) 
SET n += propertiesToRemove
```

而不是：

```
MATCH (n) 
REMOVE n.prop1, n.prop2, n.prop3
```