

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

# 在 UNWIND 子句中使用平面貼圖而非巢狀貼圖
<a name="best-practices-content-3"></a>

 深度巢狀結構可以限制查詢引擎產生最佳查詢計畫的能力。為了部分緩解此問題，下列定義的模式將為下列案例建立最佳計劃：
+  案例 1：UNWIND 與 cypher 常值清單，其中包括 NUMBER、STRING 和 BOOLEAN。
+  案例 2：UNWIND 與平面貼圖清單，其中僅包含做為值的字元常值 (NUMBER、STRING、BOOLEAN)。

 撰寫包含 UNWIND 子句的查詢時，請使用上述建議來改善效能。

案例 1 範例：

```
UNWIND $ids as x
MATCH(t:ticket {`~id`: x})
```

使用參數：

```
parameters={
  "ids": [1, 2, 3]
}
```

 案例 2 的範例是為 CREATE 或 MERGE 產生節點清單。與其發出多個陳述式，請使用下列模式將屬性定義為一組平面貼圖：

```
UNWIND $props as p
CREATE(t:ticket {title: p.title, severity:p.severity})
```

使用參數：

```
parameters={
  "props": [
    {"title": "food poisoning", "severity": "2"},
    {"title": "Simone is in office", "severity": "3"}
  ]
}
```

而不是巢狀節點物件，例如：

```
UNWIND $nodes as n
CREATE(t:ticket n.properties)
```

使用參數：

```
parameters={
  "nodes": [
    {"id": "ticket1", "properties": {"title": "food poisoning", "severity": "2"}},
    {"id": "ticket2", "properties": {"title": "Simone is in office", "severity": "3"}}
  ]
}
```