Descrizione: Workbench esporta molto grandi set di dati attraverso la procedura guidata di esportazione CSV. Sproporzionatamente lento comapred a un set più piccolo. Tuttavia, questo è qualcosa che ho incontrato prima con .NET.
Come ripetere: Ottenere una tabella con 15 o più record o più ed esportare tramite la procedura guidata. Nota quanto tempo ci vuole e quindi esporta un sottoinsieme di quei dati e vedi come il tempo impiegato non è correlato linearmente con la quantità di righe.
consigliata correzione: Qualcosa che ho notato quando la creazione di applicazioni di esportazione CSV è che il quadro di MS .NET non può trattare con enormi corde molto bene, e tende a svolgere male come risultato.
Ho trovato una soluzione però. Quando si crea l'enorme stringa per il dump nel file quando si è finito di generarlo, invece di costruire 1 stringa enorme e scriverlo in un file tutto in una volta quando l'esportazione è terminata, ottengo prestazioni molto migliori solo facendo alcuni centinaia di file di CSV generati alla volta, scriverli nel file e svuotare il buffer su cui sono stati scritti i dati generati.
Si consiglia di scrivere su un file temporaneo, quindi rinominarlo/spostarlo in quello specificato dell'utente al termine. Scrivere in temp e quindi spostare/rinominare è il modo in cui Photoshop e altre applicazioni salvano i propri dati. E la scrittura di x righe e flushing che ho trovato durante lo sviluppo di me stesso è molto più veloce che cercare di ottenere .NET per gestire una stringa da 20 MB.
fonte
2018-01-06 07:12:11
Curioso, hai esportato il file sul computer locale o remoto? Cambiare questo ha qualche effetto? –
Puoi eseguire un traceroute (mtr è fantastico) tra te e l'IP dell'istanza per diagnosticare la latenza della rete? – Nick
https://stackoverflow.com/questions/33296569/mysql-workbench-table-data-import-wizard-extermely-slow Reffer questo link –