

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

# 将 Gremlin 与 Neptune 结合使用的一般最佳实践
<a name="best-practices-gremlin"></a>

在将 Gremlin 图形遍历语言与 Neptune 一起使用时，请遵循以下建议。有关将 Gremlin 与 Neptune 一起使用的信息，请参阅[使用 Gremlin 访问 Neptune 图形](access-graph-gremlin.md)。

**重要**  
3.4.11 TinkerPop 版本中进行了更改，提高了查询处理方式的正确性，但目前有时会严重影响查询性能。  
例如，这种查询的运行速度可能会慢得多：  

```
g.V().hasLabel('airport').
  order().
    by(out().count(),desc).
  limit(10).
  out()
```
由于 3.4.11 的更改，极限步骤之后的顶点现在以非最佳方式获取。 TinkerPop 为避免这种情况，您可以通过在 `order().by()` 之后的任何点添加 barrier() 步骤来修改查询。例如：  

```
g.V().hasLabel('airport').
  order().
    by(out().count(),desc).
  limit(10).
  barrier().
  out()
```
TinkerPop [3.4.11 已在 Neptune 引擎版本 1.0.5.0 中启用。](engine-releases-1.0.5.0.md)

**Topics**
+ [Neptune 无服务器的心跳配置](best-practices-gremlin-heartbeat-serverless.md)
+ [构建更新插入查询以利用 DFE 引擎](#best-practices-gremlin-upserts)
+ [在要部署 Gremlin 代码的上下文中对其进行测试](best-practices-gremlin-console-glv-differences.md)
+ [创建高效的多线程 Gremlin 写入](best-practices-gremlin-multithreaded-writes.md)
+ [使用创建时间属性修剪记录](best-practices-gremlin-prune.md)
+ [将 `datetime( )` 方法用于 Groovy 时间数据](best-practices-gremlin-datetime.md)
+ [将本机日期和时间用于 GLV 时间数据](best-practices-gremlin-datetime-glv.md)

## 构建更新插入查询以利用 DFE 引擎
<a name="best-practices-gremlin-upserts"></a>

[使用 Gremlin `mergeV()` 和 `mergeE()` 步骤进行高效的更新插入](gremlin-efficient-upserts.md)解释了如何构建更新插入查询以尽可能有效地使用 DFE 引擎。