![]() |
![]() |
![]()
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 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 4 Dołączył: 23.05.2007 Skąd: Łódź Ostrzeżenie: (10%) ![]() ![]() |
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. :/ |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 10:19 |