Comment faire de l'insertion en bloc à l'aide de Sequelize et node.js
js + sequelize pour insérer 280K lignes de données à l'aide de JSON.
Le JSON est un tableau de 280K. Est-il un moyen de faire de l'instruction bulk insert en morceaux. Je vois que cela prend beaucoup de temps pour mettre à jour les données. Quand j'ai essayé de couper le volume de données à 40K lignes il travaille rapide. Suis-je en prenant la bonne approche. S'il vous plaît conseils. J'utilise postgresql comme backend.
PNs.bulkCreate(JSON_Small)
.catch(function(err) {
console.log('Error ' + err);
})
.finally(function(err) {
console.log('FINISHED + ' \n +++++++ \n');
});
La même question ici, avec une réponse: stackoverflow.com/questions/33129677/...
OriginalL'auteur Uma Maheshwaraa | 2015-04-05
Vous devez vous connecter pour publier un commentaire.
J'ai utilisé la
fret
utilité de l'asynchrone en bibliothèque à la charge de jusqu'à 1000 lignes à la fois. Voir le code suivant pour le chargement d'un fichier csv dans une base de données:OriginalL'auteur Evan Siroky
Si vous voulez vraiment utiliser bulkInsert, que ma réponse précédente est suffisante. Cependant, vous serez à court de mémoire si vous avez beaucoup de données! Il est vraiment préférable d'utiliser certaines base de données intégrée, la méthode est la meilleure pour cette. Le problème, c'est que vous êtes le chargement de toutes les données en mémoire jusqu'à ce que le bulkCreate exécute. Si vous avez un million de lignes, vous aurez probablement à court de mémoire avant même qu'elle exécute. Même encore, si vous la file d'attente en utilisant quelque chose comme async.fret, vous serez toujours en attente de la db pour obtenir de nouveau à vous tous, tandis que les données asyncrhonously consomme la totalité de votre mémoire.
Ma solution a été de fossé sequelize pour le chargement des données (au moins jusqu'à ce qu'ils mettent en streaming ou quelque chose (voir leur github question n ° 2454)). J'ai fini par créer db-streamer, mais il n'a juste pg appui pour l'instant. Vous aurez envie de chercher à streamsql pour mysql.
OriginalL'auteur Evan Siroky
La question suivante a la même réponse que vous avez besoin ici:
NodeJS, des promesses, des ruisseaux - traitement de gros fichiers CSV
OriginalL'auteur vitaly-t