Ho bisogno di importare in un database un file CSV con 20 milioni di righe e 2 colonne, ma quando provo a farlo con il wizard di importazione dati di mysql workbench è estremamente lento, probabilmente è ci vorranno 1 mese per finire, guardando la barra di avanzamento. Ci deve essere un modo più veloce per farlo, spero. Grazie milleWizard di importazione di dati della tabella di lavoro MySQL estremamente lento
risposta
Utilizzare sempre Load Data Infile
come primo tentativo per enormi serie di dati.
Mysql Pagina manuale su Load Data Infile.
Riportato diverse risposte per questa domanda, ma per un confronto tra pari, vedere la domanda di questo ragazzo e il mio Answer e il suo confronto di tempo tra Workbench e Load Data Infile.
Se questo aiuta qualcuno, utilizzo ancora il wizard di importazione sulla prima riga di dati perché ha una procedura guidata decente per costruire la tabella dal CSV. Quindi utilizzare il comando 'Carica dati Infile' per compilare la tabella. È un bel approccio ibrido. È un vero peccato che l'interfaccia utente non funzioni in questo modo sotto il cofano. Come è codificato ora, è piuttosto inutile come importazione di massa. – raider33
Grazie @ raider33 per la condivisione – Drew
Questa è un'alternativa. Esegui il dump dei dati CSV nello script sql, è necessario scrivere un codice per questo. In sostanza, i dati CSV vengono convertiti in simile al di sotto comandi
INSERT INTO TABLE_NAME values(1,2),(1,3),....;
ora usano MySQL script di shell e utilizzare SOURCE
comando
mysql> sorgente C: scripts/Users/Desktop/SQL/script.sql
i dati verrà importato più velocemente rispetto all'importazione diretta di un CSV per milioni di record.
Se non si desidera scrivere codice, suggerisco di provare un altro client GUI libero come HeidiSQL. Importa file CSV/di testo molto più rapidamente di MySQL Workbench.
Ho avuto un problema simile con il workbench MySQL. L'alternativa che ho trovato è Toad per MySQL (https://www.toadworld.com/m/freeware/1469)
Avrei impiegato 40 minuti tramite l'amministratore MySQL, collegandomi a un server MySQL remoto. Sul server MySQL stesso il caricamento richiede alcuni minuti. Con rospo sono in grado di connettermi al server remoto e caricare in pochi minuti. Ho provato HeidiSQL, ma non l'ho trovato facile da importare.
- 1. Esportazione dati tabella workbench MySQL estremamente lento
- 2. MySQL DOVE NON estremamente lento
- 3. come MySQL tabella di aggiornamento autonomo lavoro
- 4. MySQL "Invio di dati" orribilmente lento
- 5. Analisi della memoria .NET VS2010 - estremamente lento
- 6. PrincipalContext.ValidateCredentials estremamente lento
- 7. Postgresql remoto - estremamente lento
- 8. Aptana "Building Workspace" estremamente lento
- 9. In MySQL Workbench, l'utilizzo di "Importazione guidata dati tabella" per importare CSV crea una tabella vuota
- 10. MySql - fase di invio lento dei dati
- 11. Emulatore Android x86 estremamente lento
- 12. Database di importazione MySQL ma ignora tabella specifica
- 13. Il recupero dei dati core è estremamente lento
- 14. Proposta di struttura della tabella mysql?
- 15. Aggiornamento-join in MySQL estremamente lento rispetto alla query di selezione, senza indici
- 16. JavaScript Intellisense in VS2010 estremamente lento e affamato di memoria
- 17. Schema database di importazione MySQL
- 18. MySQL molto lento per query tabella alter
- 19. Importazione di dati tramite MagicalRecord
- 20. Perché python + sqlite3 è estremamente lento?
- 21. box-shadows estremamente lento in Chrome3
- 22. Django REST quadro Serialize estremamente lento
- 23. TABELLA TEMPORANEA LENTO DROP
- 24. Semplice tabella SQL Lite/domanda di importazione
- 25. Debug JavaScript in Visual Studio estremamente lento
- 26. Google App-Engine memcached estremamente lento
- 27. "microsoft visual studio preparation" estremamente lento
- 28. dattiloscritto compilazione estremamente lento> 12s
- 29. Rails inizializza estremamente lento su ruby 1.9.1
- 30. Nuget Update-Package command estremamente lento
Ho scritto [Questa risposta] (http://stackoverflow.com/a/32702768) per un amico. Ha portato la sua importazione di 8 ore giù ad un minuto o così. Sembra estremo, ma è quello che ha detto. – Drew