Czas na e-biznes (blog grafików, programistów, webmasterów)
Zadanie - skonwertowac 490.000 rekordow z CVS’a rozdzialanego dziwnymi znaczkami na gotowe zapytanie sql….
podejscie pierwsze - edit+ - po 10 minutach zawieszenia postanowilem poczekac jeszcze chwilke, po czym edit+ zapytal, czy przerwac (bo dopiero kilkadziesiat tysiecy linii) :( na nieszczescie, po zakonczeniu, kliknalem sobie jeszcze ctrl+z -> kolejne 10 minut czekania :D
podejscie drugie - open office -> calc. arkusze slyna ze swojej szybkosci - wiec postanowilem zaimportowac… niemily komunikat uswiadomil mi, ze w jednym arkuszu moze byc maksylanie 65535 rekordow…
podejscie trzecie - poczciwy php, explode z linii, zamiana stringow - wyplucie wszystkiego do pliku… myslalem, ze padnie juz po dzieleniu linii - a tu… calosc zajela 20 sekund!!! :) plik wejsciowy 17MB, wyjsciowy 40MB - zadnego optymalizowania w stylu czytanie linia po linii, a wyszlo rewelacyjnie :)
wlasnie dostalem komunikat z phpmyadmina: Fatal error: Maximum execution time of 300 seconds exceeded in… :D czyli jeszcze czeka mnie podzielenie tego na 10 lub 20 lub 100 osobnych czesci… eh..
Bartek Raciborski
czerwiec 25th, 2008 at 04:28:46
Albo po prostu zaimportuj ze shella, ten klient nie ma żadnych limitów:
mysql [namiary na bazę/użytkownika] < nazwapliku
webjay
czerwiec 25th, 2008 at 10:03:41
ha, Bartku - trzeba jeszcze miec ten dostep do shella :D nie mniej dziekuje za znany mi hint ;)))
podzielilem na 10 paczek, zaimportowalo sie w ciagu 20 minut, w miedzyczasie poczytalem wiadomosci ;)