

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à.

# Aggiunta in blocco di vertici e archi in batch
<a name="best-practices-gremlin-java-batch-add"></a>

Ogni query inviata al database Neptune viene eseguita nell'ambito di una singola transazione, a meno che non si utilizzi una sessione. Questo significa che se è necessario inserire una notevole quantità di dati utilizzando le query gremlin, raccogliendole in una dimensione batch di 50-100 è possibile migliorare le prestazioni riducendo il numero di transazioni create per il caricamento.

Ad esempio, aggiungendo 5 vertici al database, l'aspetto è simile al seguente:

```
// Create a GraphTraversalSource for the remote connection
final GraphTraversalSource g = traversal().withRemote(DriverRemoteConnection.using(cluster));
// Add 5 vertices in a single query
g.addV("Person").property(T.id, "P1")
 .addV("Person").property(T.id, "P2")
 .addV("Person").property(T.id, "P3")
 .addV("Person").property(T.id, "P4")
 .addV("Person").property(T.id, "P5").iterate();
```

Allo stesso modo, puoi aggiungere bordi in batch utilizzando. `addE` `V()`Utilizzatelo per fare riferimento ai vertici esistenti come origine e destinazione di ogni spigolo:

```
// Add edges in a single batched query
g.V("P1").addE("knows").to(V("P2"))
 .V("P2").addE("knows").to(V("P3"))
 .V("P3").addE("knows").to(V("P4"))
 .V("P4").addE("knows").to(V("P5")).iterate();
```

È inoltre possibile combinare la creazione di vertici e spigoli in un unico batch. Utilizzatelo `as()` per etichettare i vertici appena creati in modo da potervi fare riferimento quando aggiungete spigoli nella stessa traversa:

```
// Add vertices and edges together in a single query
g.addV("Person").property(T.id, "P1").as("p1")
 .addV("Person").property(T.id, "P2").as("p2")
 .addV("Person").property(T.id, "P3").as("p3")
 .addE("knows").from("p1").to("p2")
 .addE("knows").from("p2").to("p3").iterate();
```