

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

# 不要使用命名路径（除非必需）
<a name="best-practices-content-10"></a>

 查询中的命名路径总是会产生额外的成本，这可能会增加延迟和内存使用量。请考虑以下查询：

```
MATCH p = (n)-[:commentedOn]->(m)
WITH p, m, n, n.score + m.score as total
WHERE total > 100 
MATCH (m)-[:commentedON]->(o)
WITH p, m, n, distinct(o) as o1
RETURN p, m.name, n.name, o1.name
```

 在上述查询中，假设我们只想知道节点的属性，那么就没有必要使用路径“p”。如果将命名路径指定为变量，那么使用 DISTINCT 的聚合操作会耗费大量时间和内存。上述查询更优化的版本可能是：

```
MATCH (n)-[:commentedOn]->(m)
WITH m, n, n.score + m.score as total
WHERE total > 100 
MATCH (m)-[:commentedON]->(o)
WITH m, n, distinct(o) as o1
RETURN m.name, n.name, o1.name
```