J'ai jeté des données à partir d'une base de données à l'aide de la boîte à outils MySQL Admin Migration. Une des tables contient plus de 5 millions de lignes. Lorsque j'essaie de charger le fichier de données généré, j'ai des problèmes de mémoire.MySQL Insertion de plus de 5 millions de lignes - valider chaque option x nombre de lignes?
Existe-t-il un moyen de forcer la validation après X nombre de lignes? Le script généré par la boîte à outils de migration est illustré ci-dessous:
INSERT INTO mytable (`col1`, `col1`)
VALUES (823, 187.25),
(823, 187.25),
(823, 187.25),
(823, 187.25),
(823, 187.25),
(823, 187.25),
(823, 187.25),
(823, 187.25),
(823, 187.25),
(823, 187.25),
(823, 187.25),
(823, 187.25),
(823, 187.25),
(823, 187.25),
(823, 187.25),
Souhaitez-vous vraiment vouloir commettre plusieurs fois cependant? Si quelque chose échoue plus tard, vous vous retrouvez avec des données incohérentes. –
Ce n'est pas une question de vouloir. Il n'y a au mieux de ma connaissance aucun autre moyen. Augmenter votre espace de commit à plusieurs gigaoctets peut fonctionner dans Oracle, mais il est tout à fait possible qu'il ne vole pas dans MySQL. C'est une base de données de jouets, après tout. –
Vous avez raison, mais si la possibilité de revenir en arrière est importante, vous devez de toute façon reformater les insertions OU, au moins temporairement, augmenter la taille du tampon INNODB. Les seules limitations dont je suis conscient dans MySQL pour la taille du tampon sont la mémoire système, mais je peux me tromper. –