![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 10.03.2006 Skąd: Warszawa Ostrzeżenie: (0%)
|
Witajcie,
mam taki problem jest plik CSV zawierający 21 kolumn i bardzo dużą ilość pozycji (jakies 38 tysięcy). Napisałem filtr i skrypcik który ładnie to wrzuca do bazy. Lecz niestety ale zrywa wrzucanie danych w różncyh losowych miomentach. Czasem pozycja 880 albo 1920-a itd. Czy to jakieś przeciążenienie czy coś innego co nie uwzględniłem. Procedura na początku nawiązuje połączenie, potem w pętli while wrzuca po kolei dane a na koniec zamyka połączenie. Plik CSV znajduje się na serwerze tam gdzie odpalany jest skrypt do przerzucenia danych na MySQL. Znacie ten problem? możecie wspomóc radą? Pozdrawiam MacDavido |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%)
|
a próbowałeś load data infile?
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 10.03.2006 Skąd: Warszawa Ostrzeżenie: (0%)
|
a tego nie znam :-O
mozesz cos przytoczyc? |
|
|
|
Post
#4
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
oj... ale co tu przytaczac?
http://www.google.com/search?client=opera&...=utf-8&oe=utf-8 i juz pierwszy link. Co do twego problemu: zapewne ci sie skrypt za dlugo wykonuje wiec jest przerywane. walenie tylu tysiecy zapytan nie jest optymalnym pomyslem. powinienes wrzucac dane do zapytania po klika rekordów. liczba zapytan spadnie troche |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 0 Dołączył: 22.01.2006 Ostrzeżenie: (0%)
|
Rozszerzenie mysqli ma funkcję multi_query i przez to możesz aplikować wiele insert'ów na raz, jest to dużo szybsze niż pojedyńcze wywołania query, też poprzez mysqli możesz wysyłać skompresowane dane.
Miałem ten problem kiedyś i generalnie trzeba limitować ilość zapytań na przeładowanie (też wszystko zależy od serwera, jedne odmówią współpracy wcześniej inne później.) Nie mniej używając mysqli_multi_query mogłem dodawać znacznie więcej danych na raz niż poprzez zwykłe query. |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 10.03.2006 Skąd: Warszawa Ostrzeżenie: (0%)
|
-> nospor
dzieki za info, sprobowalem ale chyba nie rozumiem oto co robie: na poczatek baza jest pusta wiec dla treningu tworze sobie w php zapytanie tworzace tablice:
dziala to poprawnie bo na adminie widze ze tablica powstala jest to jak widac jedna kolumna typu INT(11) oraz druga typu TEXT, tej pierwszej nadaje AUTO_INCREMENT i PRIMARY. Do zmiennej $wyn dostaje 1 czyli OK (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Nastepenie robie tak:
w folderze database mam plik test.csv (na serwerze) no i probuje go tutaj zaladowac ale lipa. Nie ma efektu i chyba nie rozumiem co i jak bo wzialem to z przykladow Twojego linka. A oto plik test.csv: "1","a string","100.20" "2","a string 2","102.20" "3","a string 3","104.20" "4","a string 4","110.20" Jak juz mi to pojdzie to bede mial 21 kolumn i tysiace wierszy. Ehhhhm zeby wreszcie cos pomoglo. -> mariuszn3 :-) tez za chwile sprawdze moze to mam i cos sie uda chyba ze zaraz w depresje wpadne |
|
|
|
![]() ![]() |
|
Aktualny czas: 21.12.2025 - 18:25 |