

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

# 使用单个 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
```