![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 0 Dołączył: 11.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Na potrzeby wykresu Highcharts napisałem skrypt PHP, który pobiera dane z bazy MySQL i koduje je do formatu JSON (3 serie danych). Skrypt działa poprawnie, ale czas jego wykonania i pobrania wyniku do przeglądarki jest bardzo długi ok. 10 sekund co stwarza problemy przy wywoływaniu go co 1 minutę wraz z innymi skryptami - zawieszenie przeglądarki po ok. 1 godzinie. W przykładzie poniżej ograniczyłem wynik do 5 minut, ale w rzeczywistości pobierane są dane z miesiąca (43 tys. rekordów). Proszę o radę w jaki sposób zoptymalizować ten skrypt? Oczekiwany format kodowania: Wynik działania skrypu Kod:
Pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 0 Dołączył: 11.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Bardzo dziękuję Wszystkim za rady, sugestie i testy. Wykorzystam je na pewno w rozwiązywaniu problemu. Pozdrawiam Sprawdź w jakimś narzędziu typu heidisql ile samo zapytanie się wykonuje, zobacz explain, dołóż indeks ewentualnie. Skoro i tak wszędzie jest mnożenie to dlaczego nie robisz tego raz od razu na bazie? array_push też można pominąć i od razu tworzyć tablicę właściwą. Witam. Przerzucenie mnożenia na poziom bazy danych (przy zapisie rekordu) było przełomowe dla czasu wykonywania się skryptu, który skrócił się z ok. 7-8 sek. do 2 sek. Bardzo dziękuję. Klikam pomógł bardzo! Jakbyś mógł jeszcze napisać jak pominąć array_push i od razu tworzyć tablicę wyjściową czas skróciłby się jeszcze najpewniej jeszcze bardziej (IMG:style_emoticons/default/smile.gif) Pozdrawiam |
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 17:15 |