

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

# 使用 Gremlin 搭配 Neptune 的一般最佳實務
<a name="best-practices-gremlin"></a>

使用 Gremlin 圖形周遊語言搭配 Neptune 時，請遵循這些建議。如需使用 Gremlin 搭配 Neptune 的詳細資訊，請參閱 [使用 Gremlin 存取 Neptune 圖形](access-graph-gremlin.md)。

**重要**  
已在 TinkerPop 3.4.11 版中進行變更，這可提高查詢處理方式的正確性，但目前有時可能會嚴重影響查詢效能。  
例如，此類查詢的執行速度可能會明顯變慢：  

```
g.V().hasLabel('airport').
  order().
    by(out().count(),desc).
  limit(10).
  out()
```
由於 TinkerPop 3.4.11 變更，限制步驟之後的頂點現在會以非最佳方式擷取。若要避免這種情況，您可以在 `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 Serverless 的活動訊號組態](best-practices-gremlin-heartbeat-serverless.md)
+ [建造 upsert 查詢以利用 DFE 引擎](#best-practices-gremlin-upserts)
+ [在您將部署 Girmlin 程式碼的內容中測試該程式碼](best-practices-gremlin-console-glv-differences.md)
+ [建立有效率的多執行緒 Gremlin 寫入](best-practices-gremlin-multithreaded-writes.md)
+ [利用建立時間屬性清除記錄](best-practices-gremlin-prune.md)
+ [對 Groovy 時間資料使用 `datetime( )` 方法](best-practices-gremlin-datetime.md)
+ [在 GLV 時間資料使用原生日期和時間](best-practices-gremlin-datetime-glv.md)

## 建造 upsert 查詢以利用 DFE 引擎
<a name="best-practices-gremlin-upserts"></a>

[使用 Gremlin `mergeV()` 和 `mergeE()` 步驟進行有效的 upsert](gremlin-efficient-upserts.md) 說明如何建造 upsert 查詢，以盡可能有效地使用 DFE 引擎。