Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Import z pliku CSV czy lepiej XML?, plik XML 10MB, CSV tylko 5,5MB.. co będzie wydajniejsze?
kukix
post
Post #1





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


Witam.
Zastanawiam się jak najwydajniej zrobić import danych z pliku. Czy lepszym rozwiązaniem bedzie import z pliku CSV czy Xml?

Dodam, że plik XML waży prawie 10MB, CSV tylko 5,5MB.

Co będzie bardziej efektywne i mniej obciazy serwer biorac pod uwage ilość pozycji w pliku 500, 4 000, 10 000, 30 000 pozycji.

Bede wdzięczny za wszelkie spostrzezenia.

Import u mnei wygląda tak:
  1. $uchwyt = fopen ($path_name,"r");
  2. while (($data = fgetcsv($uchwyt, 6000, ";")) !== FALSE) {
  3.  
  4. array_walk ($data, 'zmiana_utf');
  5.  
  6. //WYKONYWANY KOD
  7.  
  8. }
  9. fclose ($uchwyt);
  10.  


Ten post edytował kukix 17.12.2010, 13:42:58
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pilsener
post
Post #2





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Cytat
import danych z pliku
- od kiedy to dane trzymamy w pliku XML? (IMG:style_emoticons/default/dry.gif) Zrzut tabeli z bazy też robimy w XML? A może w HTML? Plik .csv jest uznanym standardem i co najważniejsze, można dodać od razu do bazy cały plik przy pomocy zapytania LOAD DATA INFILE... a wcześniej łatwo go spreparować przy pomocy pętli while+fgets.
Cytat
csv są problemy często z kodowaniem lub z przecinkami i znakami interpunkcji. Xml jest szybki i łatwo można zmienić schemat i dopasować
- jakie problemy z kodowaniem? Jeśli kodowanie jest nieznane to jest rozpoznawane a następnie konwertowane podczas importu do bazy, ten sam problem jest przy xml. Z przecinkami problem? Znakami interpunkcji? A może to w xml jest problem ze znakami < czy &? Pierwsze słyszę, z sukcesem importowałem pliki .csv nawet po parę gigabajtów, ciekawe, co można by zrobić z podobnym plikiem w xml? I jak może być szybki skoro już na starcie waży dwa razy tyle i nie obsługuje go baza? A co ze specyfikacją elementów? Gdy dostaniesz plik .csv od razu wiesz, co to jest a weź wyślij komuś xml i każ dodać do bazy, powie pewnie (IMG:style_emoticons/default/sciana.gif) a potem (IMG:style_emoticons/default/dostal.gif)
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: 13.10.2025 - 17:29