web-dev-qa-db-fra.com

L'assistant d'importation de données de table MySQL Workbench est extrêmement étendu

j'ai besoin d'importer dans une base de données un fichier csv avec 20 millions de lignes et 2 colonnes, mais lorsque j'essaie de le faire avec l'assistant d'importation de données de mysql workbench, il est extrêmement lent et prendra probablement un mois pour se terminer barre de progression . Il doit y avoir un moyen plus rapide de le faire, j'espère . Merci beaucoup

13
BlueStarry

Utilisez toujours Load Data Infile comme première tentative pour des ensembles de données volumineux.

Mysql page de manuel sur Load Data Infile .

A écrit plusieurs réponses à cette question, mais pour une comparaison entre pairs, voir la question de ce type et mon Réponse et ses comparaisons de temps entre Workbench et Load Data Infile.

11
Drew

Si vous ne voulez pas écrire de code, je vous suggère d'essayer un autre client à interface graphique gratuit comme HeidiSQL. Il importe les fichiers CSV/texte beaucoup plus rapidement que MySQL Workbench.

3
malnosna

Préférez toujours les données de chargement pour l’importation de jeux de données, l’inconvénient est => vous devez créer une structure de table avant l’importation. L'assistant d'importation vous permet de créer à la volée une nouvelle table directement à partir de CSV ou de JSON.

Je pense que la raison de cette lenteur est la suivante: Workbench utilise python pour l’assistant d’importation. Vous pouvez voir que, dans le journal de l'assistant d'importation, lorsqu'une erreur survient, il s'agit du journal de la console python.

Si vous ne voulez pas créer la structure pour quelque raison que ce soit, vous pouvez démarrer le processus. Il créera la table à partir du fichier csv, puis arrêtera le processus. Ensuite, supprimez tout de votre table et chargez les données infiles. C'est une sorte de "bidouille" moche mais cela a fonctionné pour moi.

1
adnls

J'ai eu un problème similaire avec MySQL workbench . L'alternative que j'ai trouvée est Toad for MySQL ( https://www.toadworld.com/m/freeware/1469 )

Cela me prendrait 40 minutes via l’administrateur MySQL pour me connecter à un serveur MySQL distant. Sur le serveur MySQL, le téléchargement prend quelques minutes. Avec crapaud, je peux me connecter au serveur distant et le télécharger en quelques minutes. J'ai essayé HeidiSQL, mais je ne l'ai pas trouvé aussi facile à importer. 

1
Dilan JIvanji