Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [xml]/[php]/[mysql]Optymalizacja wczytywania pliku xml do bazy
lechu80
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 20.02.2008

Ostrzeżenie: (0%)
-----


Witam wszystkich!

To moj pierwszy post na jakimkolwiek forum poswieconym programowaniu, bo do tej pory dobrze sobie radzilem sam z google ;-)
Ale nadszedl taki moment i potrzebuje rady, bardziej doswiadczonych osob...

Tworze system (php, xml, mysql) dla firmy, ktora jest posrednikiem ofert -> dane sa wczytywane skryptem z roznych adresow www w postaci plikow xml (uzywam do tego biblioteki curl), a nastepnie za pomoca simplexml wczytywalem ten plik i skladalem w petli w zapytanie insert do lokalnej bazy mysql (aby wszystkie oferty byly w jednym miejscu, latwiej w systemie sie wyszukuje).
Problem polega na tym, ze pliki xml maja od 10 do 300MB wielkosci:
1) dla plikow do 100MB trwa to dlugo (zwiekszylem wartosc max_execution_time, zeby w ogole skrypt mogl dzialac) - moze da sie szybciej? Jesli tak, to moze jakies rady?
2) dla plikow powyzej 100MB - simplexml w ogole sie zacina i po wprowadzeniu do bazy ok 1000 rekordow, przestaje dzialac -> macie jakeis pomysly? przejrzalem forum, niektorzy proponuja bibioteke SAX - czy ktos probowal tego w jakims podobnym systemie do mojego? czy poza tym jest jakies inne rozwiazanie?

Z gory dzieki za pomoc!
Leszek
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
smialy
post
Post #2





Grupa: Zarejestrowani
Postów: 60
Pomógł: 4
Dołączył: 23.05.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


Spore te pliki XML. Chyba troche za duże jak na PHP. Całe ładować do pamięci - nie bardzo. Z tego co wiem to nawet ezPublish miał w którejś wersji 128 mega potrzebne na uruchomienie :/ Ale to nie 300 :]

Skoro to XML wiec powinno dać się wczytywać framgentami w którym można będzie znaleźć właściwą gałąź i wstawić do bazy, Powtarzać sekwencję wczytywania fragmentu i wstawiania, aż do końca pliku. :/
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 10:19