phpMyAdmin
 sql >> Database >  >> Database Tools >> phpMyAdmin

Problemi di prestazioni dell'importazione dei dati di PhpMyAdmin

Modifica la dimensione massima del caricamento php.

Sai dove si trova il tuo file php.ini?

Prima di tutto, prova a inserire questo file nella tua radice web:

phpinfo.php

( vedi http://php.net/manual/en/function.phpinfo.php )

contenente:

<?php

phpinfo();

?>

Quindi vai a http://www.yoursite.com/phpinfo.php

Cerca "php.ini".

Per caricare file di grandi dimensioni hai bisogno di max_execution_time, post_max_size, upload_max_filesize

Inoltre, sai dove si trova il tuo file error.log? Si spera che ti dia un indizio su cosa sta andando storto.

MODIFICA:

Ecco la query che utilizzo per l'importazione del file:

$query = "LOAD DATA LOCAL INFILE '$file_name' INTO TABLE `$table_name` FIELDS TERMINATED BY ',' OPTIONALLY
    ENCLOSED BY '\"' LINES TERMINATED BY '$nl'";

Dove $file_name è il nome del file temporaneo dalla variabile globale php $_FILES, $table_name è la tabella già preparata per l'importazione e $nl è una variabile per le terminazioni di riga csv (impostazione predefinita per le terminazioni di riga di Windows ma ho un'opzione per selezionare la riga di linux finali).

L'altra cosa è che la tabella ($table_name) nel mio script viene preparata in anticipo scansionando prima il csv per determinare i tipi di colonna. Dopo aver determinato i tipi di colonna appropriati, crea la tabella MySQL per ricevere i dati.

Ti suggerisco di provare prima a creare la definizione della tabella MySQL, in modo che corrisponda a ciò che c'è nel file (tipi di dati, lunghezze dei caratteri, ecc.). Quindi prova la query sopra e guarda quanto velocemente funziona. Non so quanto sia importante la definizione della tabella MySQL sulla velocità.

Inoltre, non ho indici definiti nella tabella fino a DOPO il caricamento dei dati. Gli indici rallentano il caricamento dei dati.