Astuce de requête Gremlin noReordering - Amazon Neptune

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Astuce de requête Gremlin noReordering

Lorsque vous soumettez une traversée Gremlin, le moteur de requêtes Neptune étudie la structure de la traversée et réorganise certaines parties de la requête, en essayant de minimiser la quantité de travail requise pour l'évaluation et le temps de réponse aux requêtes. Par exemple, un parcours avec plusieurs contraintes, telles que plusieurs étapes has(), n'est généralement pas évalué dans l’ordre donné. Au lieu de cela, il est réorganisé une fois que la requête a été vérifiée avec une analyse statique.

Le moteur de requêtes Neptune essaie d'identifier la contrainte la plus sélective et exécute celle-ci en premier. Cela se traduit souvent par de meilleures performances, mais l'ordre dans lequel Neptune choisit d'évaluer la requête n'est pas toujours optimal.

Si vous connaissez les caractéristiques exactes des données et souhaitez dicter manuellement l'ordre d'exécution de la requête, vous pouvez utiliser le NeptunenoReorderingindice de requête pour spécifier que la traversée doit être évaluée dans l'ordre indiqué.

Syntaxe

L'indicateur de requête noReordering est spécifié en ajoutant une étape withSideEffect à la requête.

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

Tous les effets secondaires d'indicateurs de requête Gremlin sont préfixés avec Neptune#.

Valeurs disponibles

  • true

  • false