Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Import naprawde duzej bazy csv
Forum PHP.pl > Forum > PHP
kiler129
Siedze od rana i mecze sie z importem csv do mysql. Jest to wycinek 8GB bazy (wycinek ma 200MB a mniejszy wycinek 8 rekordow).
Nie mam problemu z samym importem co z kodowaniem i jego predkoscia.
Przez 2h udalo sie poleceniu:

Kod
LOAD DATA LOCAL INFILE 'plik z baza' IGNORE INTO TABLE `tabela` FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n';


zaimportowac nieco ponad 1mln rekordow (~50MB).
Drugi problem ktory testuje z wycinkiem 8 rekordowym to kodowanie.
Plik pierwotnie w kodowaniu cp1250, po obrobce iconv z konsoli linux jest w utf8 co nadal nie pomaga dry.gif
Po imporcie za pomoca w/w komedy phpmyadmin nadal pokazuje krzaki. Kolumne w ktorej sa polskie znaki ustawialem juz roznie, na utf_unicode, utf_general i cp1250_general - bez efektow.
Ma ktos jakikolwiek pomysl na w miare szybki import ktory nie pokrzaczy pliku?
Axexis
Witaj,

Zakładam, że kodowanie Ci krzaczy na poziomie skryptu. Z mojej strony proponuję Ci, abyś przekonwertował bazę na utf8-generalci i następnie zaraz po nawiązaniu połączenia z bazą danych wstukał:
  1. <?php
  2. mysql_query("SET NAMES utf8");
  3. ?>


Oczywiście, wyjście (czyt: cała strona) musi być w utf8 aby poszło.
dr_bonzo
Wylacz klucze/indeksy na czas importu.
kiler129
Cytat(Axexis @ 24.09.2008, 21:02:12 ) *
Witaj,

Zakładam, że kodowanie Ci krzaczy na poziomie skryptu. Z mojej strony proponuję Ci, abyś przekonwertował bazę na utf8-generalci i następnie zaraz po nawiązaniu połączenia z bazą danych wstukał:
  1. <?php
  2. mysql_query("SET NAMES utf8");
  3. ?>


Oczywiście, wyjście (czyt: cała strona) musi być w utf8 aby poszło.


W zasadzie nie wiem gdzie, sprawdzam w pma.
Btw. jaka roznica miedzy general_ci a unicode_ci?

Cytat(dr_bonzo @ 24.09.2008, 21:17:38 ) *
Wylacz klucze/indeksy na czas importu.

A mozesz rozwinac?
dr_bonzo
FOREIGN_KEY_CHECKS=0


i usun wszystkie indexy, a po imporcie je utworz na nowo
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.