

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

# Gremlin noReordering 查询提示
<a name="gremlin-query-hints-noReordering"></a>

在提交 Gremlin 遍历时，Neptune 查询引擎将调查遍历的结构并对查询的各个部分重新排序，尝试最大程度地减少计算所需的工作量和查询响应时间。例如，具有多个约束的遍历（如多个 `has()` 步骤）通常不会按给定顺序进行计算。相反，它在使用静态分析检查查询之后进行重新排序。

Neptune 查询引擎尝试确定哪个约束更适合选择并最先运行该约束。这通常会实现更高的性能，但 Neptune 选择计算查询的顺序可能并不总是最佳的。

如果您知道确切的数据特性并且想要手动指示查询执行顺序，请使用 Neptune `noReordering` 查询提示指定按给定顺序计算遍历。

## 语法
<a name="gremlin-query-hints-noReordering-syntax"></a>

通过向查询添加 `withSideEffect` 步骤来指定 `noReordering` 查询提示。

```
g.withSideEffect('Neptune#noReordering', true or false).gremlin-traversal
```

**注意**  
所有 Gremlin 查询提示副作用的前缀为 `Neptune#`。

**可用值**
+ `true`
+ `false`