

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilizzo di Gremlin con il motore di query Neptune DFE
<a name="gremlin-with-dfe"></a>

È possibile abilitare il [motore di query alternativo](neptune-dfe-engine.md) di Neptune, noto come DFE, in due modi:
+ Imposta il parametro [`neptune_dfe_query_engine`](parameters.md#parameters-instance-parameters-neptune_dfe_query_engine)instance su `enabled` per tutte le interrogazioni sull'istanza.
+ Utilizzate il [suggerimento di `useDFE` interrogazione](gremlin-query-hints-useDFE.md) per le singole query (deve `neptune_dfe_query_engine` essere impostato sul valore predefinito di). `viaQueryHint`

Quando DFE è abilitato, Neptune traduce le interrogazioni e gli attraversamenti Gremlin di sola lettura in una rappresentazione logica intermedia e li esegue sul motore DFE quando possibile.

Tuttavia, il motore DFE non supporta ancora tutti i passaggi Gremlin. Quando un passaggio non può essere eseguito in modo nativo sul DFE, Neptune torna a eseguire il passaggio. TinkerPop I report `explain` e `profile` includono avvisi quando ciò accade.

## Interleaving della pianificazione delle query
<a name="gremlin-with-dfe-interleaving"></a>

Quando il processo di conversione incontra un passaggio Gremlin che non ha un operatore DFE nativo corrispondente, prima di tornare a usare Tinkerpop cerca di trovare altre parti di query intermedie che possano essere eseguite in modo nativo sul motore DFE. Lo fa applicando la logica di interleaving all'attraversamento di livello superiore. Il risultato è che i passaggi supportati vengono utilizzati laddove possibile.

Tale conversione di query intermedia, senza prefisso viene rappresentata utilizzando `NeptuneInterleavingStep` negli output di `explain` e `profile`.

Per confrontare le prestazioni, si potrebbe voler disattivare l'interleaving in una query, continuando a utilizzare il motore DFE per eseguire la parte del prefisso. In alternativa, potresti voler utilizzare solo il TinkerPop motore per l'esecuzione di query senza prefisso. A tale scopo, utilizzare l'hint di query `disableInterleaving`.

Proprio come l'hint di query [useDFE](gremlin-query-hints-useDFE.md) con il valore `false` impedisce del tutto l'esecuzione di una query sul motore DFE, l'hint di query `disableInterleaving` con il valore `true` disattiva l'interleaving del motore DFE per la conversione di una query. Esempio:

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

## `Spiegazione e output del profilo di Gremlin aggiornati`
<a name="gremlin-with-dfe-explain-update"></a>

Gremlin [explain](gremlin-explain.md) fornisce dettagli sull'attraversamento ottimizzato utilizzato da Neptune per eseguire una query. Consultare l'[output di esempio di `explain` del motore DFE](gremlin-explain-api.md#gremlin-explain-dfe) per un esempio di come appare l'output di `explain` quando il motore DFE è abilitato.

L'[API Gremlin `profile`](gremlin-profile-api.md) esegue un attraversamento Gremlin specificato, raccoglie varie metriche sull'esecuzione e produce un report di profile che contiene dettagli sul piano di interrogazione ottimizzato e sulle statistiche di runtime di vari operatori. Consultare l'[output di esempio di `profile` del motore DFE](gremlin-profile-api.md#gremlin-profile-sample-dfe-output) per un esempio di come appare l'output di `profile` quando il motore DFE è abilitato.

**Nota**  
Poiché il supporto DFE per Gremlin è una funzionalità sperimentale, il formato esatto dell'`profile`output `explain` e è soggetto a modifiche.