Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Import dużego XML do PostgreSQL
Forum PHP.pl > Forum > XML, AJAX > XML
antek1227
Witam,
Piszę aplikację, która bedzie ładowała do bazy danych pliki XML, o pojemności 200-500MB. Jedną z znanych mi metod jest zastosowanie simplexml, ale nie działa to wydajnie.
Zadanie będzie polegało najpierw na wczytaniu wszystkich danych (w php będą one walidowane, pod kontem zgodności z przyjętym standardem), a następnie będzie szła aktualizacja raz dziennie, i jeżeli będzie się coś zmieniać, to dane zostaną nadpisane, dodane, bądź usunięte. Nie ukrywam, że zależało by mi na lepszej wydajności, ponieważ są też problemy z serwerem, na którym rozwiązanie testowaliśmy.
Czy znacie jakieś lepsze metody na import takiego pliku, które działają wydajniej? Może jakiś sposób, na inne rozwiązanie tego porblemu.
Z góry dzięki za odpowiedzi
Pozdrawiam
zegarek84
na pewno raczej nie muszę pisać, iż dane te muszą być wgrane w jednej sesji... ale to mało, by nie sprawdzać czy robić update czy insert to najlepiej dane wgrać w sesji do tabeli tymczasowej a potem jednym zapytaniem tam gdzie są unikalne rekordy powtarzające się jakoś rozpoznawalne zrobić update a na różnicy kolejnym zapytaniem insert wielu rekordów na raz... na koniec oczywiście delete tymczasowej tablicy... a jeśli problem jeszcze jest z pamięcią po stronie PHP to programowanie zdarzeniowe + SAX (Simple API for XML)...
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-2022 Invision Power Services, Inc.