![]() |
![]() ![]() |
![]() |
![]()
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:
Ten post edytował kukix 17.12.2010, 13:42:58 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Zalezy od jego struktury jesli nie jest ona zbyt skomplikowana to na pewno csv/ini beda szybsze niz parsowanie xml'a...
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 173 Pomógł: 1 Dołączył: 4.05.2010 Ostrzeżenie: (20%) ![]() ![]() |
Moim zdaniem tylko XML, u mnie w serwisie mamy importy z csv i z xml i xml wygrywa zdecydowanie.
Z csv są problemy często z kodowaniem lub z przecinkami i znakami interpunkcji. Xml jest szybki i łatwo można zmienić schemat i dopasować. Pozdrawiam Damian |
|
|
![]()
Post
#4
|
|
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)
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 183 Pomógł: 24 Dołączył: 4.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
- od kiedy to dane trzymamy w pliku XML? (IMG:style_emoticons/default/dry.gif) Zrzut tabeli z bazy też robimy w XML? od kiedy powstał XML. Zrzut w większośc baz zrobimy do XML, w niektórych i do json - to że MySQL nie potrafi tego z konsoli, nie świadczy o słabości XML. 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. - 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) Jeśli myślisz, że XML nie jest uznanym standardem to się mylisz. Dwa - XML na deklaracje kodowania, niczego nie rozpoznaje - "zgaduje". Trzy - jeśli zamykamy się w gronie użytkowników MySQL to faktycznie CSV może wydawać się lepszy, ale w większości programów wymaga deklaracji separatorów, kodowania, znaków zawierających. Cztery - xml'e otworzysz nawet w przeglądarce, nawet w IE - do strawnego przeglądu. Pięć: - XML nie ma problemów z żadnymi znakami, ew. program go inaczej(czyt. źle) zapisuje (jak Excel CSV). Poza zbędnymi(czyt. nieprawdziwymi) komentarzami Pilsener, zgadzam się z nim, wybrałbym CSV jeśli chodzi o MySQL. Ten post edytował kalmaceta 18.12.2010, 12:37:17 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 64 Pomógł: 0 Dołączył: 3.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
XML nie służy przetrzymywaniu informacji, nie po to był stworzony i nie nadaje się do tego , blednie wobec chociażby YAMLa.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Xmla używa się głównie do wymiany danych w obie strony pomiędzy aplikacjami/skryptami, gdyż xml - oprócz samych danych - zawiera informacje umożliwiające rozpoznanie relacji pomiędzy tymi danymi i pozwala odzwierciedlić pewną hierarchię czy strukturę, jaką te dane stanowią, stąd pewien narzut w stosunku do plików csv. Jeśli chodzi o wydajność, to w przypadku bardzo dużej ilości danych korzystniej będzie użyć formatu csv, gdyż plik csv zawiera znacznie mniej informacji do przetworzenia. Swoją drogą phpmyadmin umożliwia eksport danych zarówno do csv, jak i do xmla.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 13:15 |