

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Usar o Gremlin com o mecanismo de consulta do DFE do Neptune
<a name="gremlin-with-dfe"></a>

Se você ativar o mecanismo de [consulta alternativo do](neptune-dfe-engine.md) Neptune, conhecido como DFE (definindo o parâmetro de instância como`enabled`), [neptune\_dfe\_query\_engine](parameters.md#parameters-instance-parameters-neptune_dfe_query_engine) o Neptune traduzirá o queries/traversals Gremlin somente para leitura em uma representação lógica intermediária e o executará no mecanismo do DFE sempre que possível.

No entanto, o DFE ainda não é compatível com todas as etapas do Gremlin. Quando uma etapa não pode ser executada nativamente no DFE, Neptune volta a executá-la. TinkerPop Os relatórios `explain` e `profile` incluem avisos quando isso acontece.

## Intercalação do planejamento de consultas
<a name="gremlin-with-dfe-interleaving"></a>

Quando o processo de conversão encontra uma etapa do Gremlin sem um operador nativo do DFE correspondente, antes de voltar a usar o Tinkerpop, ele tenta encontrar outras partes intermediárias da consulta que possam ser executadas de modo nativo no mecanismo do DFE. Ele faz isso aplicando a lógica de intercalação ao percurso de nível superior. O resultado é que as etapas compatíveis são usadas sempre que possível.

Qualquer conversão de consulta intermediária, sem prefixo, é representada usando as saídas `NeptuneInterleavingStep`, `explain` e `profile`.

Para comparação de desempenho, convém desativar a intercalação em uma consulta e ainda usar o mecanismo do DFE para executar a parte do prefixo. Ou talvez você queira usar somente o TinkerPop mecanismo para execução de consultas sem prefixo. Você pode fazer isso usando a dica de consulta `disableInterleaving`.

Assim como a dica de consulta [useDFE](gremlin-query-hints-useDFE.md) com um valor de `false` impede totalmente que uma consulta seja executada no DFE, a dica de consulta `disableInterleaving` com um valor de `true` desativa a intercalação do DFE para conversão de uma consulta. Por exemplo:

```
g.with('Neptune#disableInterleaving', true)
 .V().has('genre','drama').in('likes')
```

## Atualização da saída `explain` e `profile` do Gremlin
<a name="gremlin-with-dfe-explain-update"></a>

O [explain](gremlin-explain.md) do Gremlin fornece detalhes sobre o percurso otimizado que o Neptune usa para executar uma consulta. Consulte o [exemplo de saída de `explain` do DFE](gremlin-explain-api.md#gremlin-explain-dfe) para ver um exemplo de saída de `explain` quando o mecanismo do DFE está habilitado.

O [API `profile` do Gremlin](gremlin-profile-api.md) executa um percurso especificado do Gremlin, coleta várias métricas sobre a execução e produz um relatório de perfil que contém detalhes sobre o plano de consulta otimizado e as estatísticas de runtime de vários operadores. Consulte o [exemplo de saída de `profile` do DFE](gremlin-profile-api.md#gremlin-profile-sample-dfe-output) para ver um exemplo de saída de `profile` quando o mecanismo do DFE está habilitado.

**nota**  
Como o suporte do DFE para Gremlin é um recurso experimental, o formato exato da `profile` saída `explain` e está sujeito a alterações.