sql >> Databáze >  >> Database Tools >> phpMyAdmin

Problémy s výkonem importu dat PhpMyAdmin

Změňte maximální velikost nahrávání php.

Víte, kde je váš soubor php.ini?

Nejprve zkuste tento soubor vložit do svého webového kořenového adresáře:

phpinfo.php

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

obsahující:

<?php

phpinfo();

?>

Poté přejděte na http://www.yoursite.com/phpinfo.php

Hledejte „php.ini“.

K nahrání velkých souborů potřebujete max_execution_time, post_max_size, upload_max_filesize

Také víte, kde je váš soubor error.log? Doufejme, že vám to poskytne vodítko, co se děje.

EDIT:

Zde je dotaz, který používám pro import souboru:

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

Kde $file_name je dočasný název souboru z globální proměnné php $_FILES, $table_name je tabulka již připravená k importu a $nl je proměnná pro zakončení řádků csv (výchozí nastavení pro zakončení řádků systému Windows, ale mám možnost vybrat řádek linux konce).

Další věc je, že tabulka ($table_name) v mém skriptu je připravena předem tak, že se nejprve naskenuje csv, aby se určily typy sloupců. Poté, co určí vhodné typy sloupců, vytvoří tabulku MySQL pro příjem dat.

Navrhuji, abyste nejprve zkusili vytvořit definici tabulky MySQL, aby odpovídala tomu, co je v souboru (datové typy, délky znaků atd.). Pak zkuste výše uvedený dotaz a uvidíte, jak rychle běží. Nevím, jak velký vliv na rychlost má definice tabulky MySQL.

Také nemám v tabulce definované žádné indexy, dokud nebudou načtena data. Indexy zpomalují načítání dat.




  1. Jak nastavit uživatelské jméno a heslo phpmyadmin

  2. Závažná chyba:Nedostatek paměti (přiděleno 1134559232) (pokuseno přidělit 32768 bajtů) v X:\wamp\www\xxx

  3. Jaká je správná syntaxe klauzule if pro uloženou funkci MySQL?

  4. SQL Server:Import databáze z .mdf?