

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Gremlin noReordering クエリヒント
<a name="gremlin-query-hints-noReordering"></a>

Gremlin トラバーサルを送信するとき、Neptune クエリエンジンは、評価に必要な作業の量とクエリ応答時間を最小限にしようとするために、トラバーサルの構造を調査し、クエリの各パートの順序を変更します。たとえば、複数の `has()` ステップなど、複数の制約を持つトラバーサルは通常、指定された順序では評価されません。代わりに、クエリが静的分析でチェックされた後に順序が変更されます。

Neptune クエリエンジンは、より細かく選択される制約を特定しようと試み、その 1 つを最初に実行します。多くの場合、これによりパフォーマンスが向上しますが、Neptune で選択されるクエリの評価の順序は常に最適であるとは限りません。

データの正確な特性がわかっていて、クエリ実行の順序を手動で指定する場合は、Neptune `noReordering` クエリヒントを使用して特定の順序でトラバーサルが評価されるように指定できます。

## 構文
<a name="gremlin-query-hints-noReordering-syntax"></a>

`noReordering` クエリヒントは、クエリに `withSideEffect` ステップを追加して指定します。

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

**注記**  
すべての Gremlin クエリヒントの副作用にはプレフィックス `Neptune#` が付けられます。

**指定できる値**
+ `true`
+ `false`