J'ai un énorme fichier mysqldump (~ 700 Go) et je souhaite le restaurer sur un autre serveur. Pour le premier Go, la vitesse d’importation est assez rapide, autour de Mo/s, mais après quelques Go de données, la vitesse chute entre 50 Ko/s et 200 Ko/s.
Les paramètres de mysqldump sont --skip-comments --no-create-info --no-autocommit --quick --extended-insert --insert-ignore --compress
donc quelques améliorations de vitesse ont été apportées.
L'importation se fait pv /file.sql | 完成的mysql -u 用户 DB
J'ai également exécuté mysqltuner et amélioré certains de ses paramètres.
Je me demande : est-il courant qu'un mysqldump aussi volumineux ralentisse après un certain temps ? Ou y a-t-il quelque chose qui pourrait être encore amélioré ?
Lors de l'importation de grandes quantités de données, les fonctionnalités suivantes doivent être désactivées.
Parce qu'à chaque fois que vous insérez, la base de données vérifiera la relation de l'enregistrement inséré dans d'autres tables. À mesure que la table s’agrandit, ce processus commence à ralentir. Lors de chaque insertion, la base de données effectue également des opérations d'insertion supplémentaires ou exécute des déclencheurs d'insertion dans les index de la table.
De plus, comme les transactions dans MySQL sont faibles, vous devez faire en sorte que la validation ne fonctionne pas après chaque insertion, vous pouvez utiliser la commande commit, par exemple une fois tous les 10 000 enregistrements insérés.