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.
Entrées par lots utilisant des instructions UNWIND plutôt que des instructions individuelles
Chaque fois que la même requête doit être exécutée pour différentes entrées, au lieu d'exécuter une requête par entrée, il serait beaucoup plus performant d'exécuter une requête pour un lot d'entrées.
Si vous souhaitez effectuer une fusion sur un ensemble de nœuds, une option consiste à exécuter une requête de fusion par entrée :
MERGE (n:Person {`~id`: $id}) SET n.name = $name, n.age = $age, n.employer = $employer
Avec paramètres :
params = {id: '1', name: 'john', age: 25, employer: 'Amazon'}
La requête ci-dessus doit être exécutée pour chaque entrée. Bien que cette approche fonctionne, elle peut nécessiter l'exécution de nombreuses requêtes pour un grand nombre d'entrées. Dans ce scénario, le traitement par lots peut contribuer à réduire le nombre de requêtes exécutées sur le serveur et à améliorer le débit global.
Utilisez le modèle suivant :
UNWIND $persons as person MERGE (n:Person {`~id`: person.id}) SET n += person
Avec paramètres :
params = {persons: [{id: '1', name: 'john', age: 25, employer: 'Amazon'}, {id: '2', name: 'jack', age: 28, employer: 'Amazon'}, {id: '3', name: 'alice', age: 24, employer: 'Amazon'}...]}
Il est recommandé d'expérimenter avec différentes tailles de lots afin de déterminer ce qui convient le mieux à votre charge de travail.