sql >> Base de Datos >  >> Database Tools >> phpMyAdmin

Problemas de rendimiento de importación de datos de PhpMyAdmin

Cambie su tamaño máximo de carga de php.

¿Sabes dónde está tu archivo php.ini?

En primer lugar, intente colocar este archivo en la raíz de su web:

phpinfo.php

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

que contiene:

<?php

phpinfo();

?>

Luego navega a http://www.yoursite.com/phpinfo.php

Busque "php.ini".

Para cargar archivos grandes, necesita max_execution_time, post_max_size, upload_max_filesize

Además, ¿sabe dónde está su archivo error.log? Con suerte, le dará una pista de lo que está mal.

EDITAR:

Aquí está la consulta que uso para la importación de archivos:

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

Donde $file_name es el nombre de archivo temporal de la variable global de php $_FILES, $table_name es la tabla ya preparada para la importación y $nl es una variable para los finales de línea csv (predeterminado para los finales de línea de Windows, pero tengo una opción para seleccionar la línea de Linux terminaciones).

La otra cosa es que la tabla ($table_name) en mi secuencia de comandos se prepara de antemano escaneando primero el csv para determinar los tipos de columna. Después de determinar los tipos de columna apropiados, crea la tabla MySQL para recibir los datos.

Le sugiero que primero intente crear la definición de la tabla MySQL, para que coincida con lo que hay en el archivo (tipos de datos, longitudes de caracteres, etc.). Luego intente la consulta anterior y vea qué tan rápido se ejecuta. No sé cuánto factor tiene la definición de la tabla MySQL en la velocidad.

Además, no tengo índices definidos en la tabla hasta DESPUÉS de cargar los datos. Los índices ralentizan la carga de datos.