Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Optymalizacja zapisu do bazy danych, zapis danych w pętli
zibideusz
post
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 1
Dołączył: 14.05.2009

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


Witam serdecznie (IMG:style_emoticons/default/smile.gif)

Jak zwykle piszę z problemem. Otóż mój skrypt wykonuje pętle (while) i przy każdym wykonaniu zapisuje dane do bazy. Skrypt wykonuje się do momentu przekorczenia czasu wykonywania. Chodzi po prostu o to, by pętli wykonało się jak najwięcej, nie chcę ograniczać tego do konkretnej wartości, bo w zależności od danych raz potrafi przejść 5 pętli, a innym razem 30.

No i sporo już myślałem nad tym, w jaki sposób ominąć zapisywanie danych co każdą pętlę (generuje to spore obciążenia). Pomsł mam taki, by dane przechowywać w tablicy i w odpowiednim momencie (przed zakończeniem czasu wykonywania) zapisać do bazy. Wymagałoby to porównywania czasu rozpoczęcia pierwszej pętli z obecnym i na przykład po upływie 50 sekund przerwać pętlę i zrobić zapis.

Są jeszcze jakiś inne sposoby?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mortus
post
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Czyli wygląda na to, że ten CURL u Ciebie działa raz szybciej, raz wolniej i w sumie to nie wiesz, kiedy braknie czasu na dokończenie działania skryptu. To w takim razie Twoje rozwiązanie może być dobre, ale nie wiem, czy warto porównywać czas, czy może na sztywno ustalić przeładowania strony np. co 5 przebiegów pętli. Trzeba pamiętać, że od momentu, w którym porównasz czasy, do momentu w którym nastąpi przeładowanie strony też trochę czasu mija (choć może niewiele).
Nie bawiłem się jeszcze tym, ale można by było spróbować zasymulować wielowątkowość do wygenerowania zapytań/nia SQL (niestety to co znalazłem w sieci działa tylko na *nix-ach).
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: 11.10.2025 - 18:12