phpMyAdmin
 sql >> Base de Dados >  >> Database Tools >> phpMyAdmin

Problemas de desempenho de importação de dados do PhpMyAdmin


Altere o tamanho máximo de upload do seu php.

Você sabe onde está o seu arquivo php.ini?

Primeiro de tudo, tente colocar este arquivo em sua raiz da web:
phpinfo.php

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

contendo:
<?php

phpinfo();

?>

Em seguida, navegue até http://www.yoursite.com/phpinfo.php

Procure por "php.ini".

Para fazer upload de arquivos grandes, você precisa de max_execution_time, post_max_size, upload_max_filesize

Além disso, você sabe onde está o arquivo error.log? Espero que lhe dê uma pista sobre o que está acontecendo de errado.

EDITAR:

Aqui está a consulta que eu uso para a importação do arquivo:
$query = "LOAD DATA LOCAL INFILE '$file_name' INTO TABLE `$table_name` FIELDS TERMINATED BY ',' OPTIONALLY
    ENCLOSED BY '\"' LINES TERMINATED BY '$nl'";

Onde $file_name é o nome do arquivo temporário da variável global php $_FILES, $table_name é a tabela já preparada para importação e $nl é uma variável para os finais de linha csv (padrão para finais de linha do Windows, mas eu tenho uma opção para selecionar a linha linux terminações).

A outra coisa é que a tabela ($table_name) no meu script é preparada com antecedência, primeiro varrendo o csv para determinar os tipos de coluna. Depois de determinar os tipos de coluna apropriados, ele cria a tabela MySQL para receber os dados.

Eu sugiro que você tente criar a definição da tabela MySQL primeiro, para corresponder ao que está no arquivo (tipos de dados, comprimentos de caracteres, etc). Em seguida, tente a consulta acima e veja a rapidez com que ela é executada. Eu não sei o quanto a definição da tabela MySQL está na velocidade.

Além disso, não tenho índices definidos na tabela até DEPOIS que os dados sejam carregados. Os índices retardam o carregamento de dados.