Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Problem z wydajnością aplikacji.
Forum PHP.pl > Forum > Przedszkole
xbigos
Witam. Pracuję aktualnie nad modyfikacjami dużego systemu.

Mam bazę danych a w niej statystyki - danych do przetworzenia jest względnie dużo. Zastanawiam się jakby ominąć każdorazowe SQL_CALC_FOUND_ROWS Zliczanie wszystkich danych z bazy, cachowanie zapytań też odpada.

Moduł jest dostępny tylko do admina.

Zastanawialem się nad takim czymś:

Gdyby co 24 h robic podliczenie wszystkich rekordów, zapisanie je do pliku a następnie skasować stare dane z bazy.
Co sądzicie nad tego typu rozwiązaniem?. Zastanawiam się także w jakim rodzaju pliku przechowywać informacje o pobranych danych.
Nigdy nie miałem takiego problemu, jestem ciekaw rozwiązania. Osobiście wydaje mi się, że pliki powinny dać radę, nie bedzie częstego zapisu danych. Napisanie przez dwie osoby też nie wchodzą w grę.
Nie chce także tworzyć nowej dodatkowej tabeli w mysql. Bo straszny balagan się zrobi.

Jak mój pomysł ma się do wydajności? Czy ma to jakiś sens?.

Pozdrawiam
xbigos
dkosc
Zliczaj statystyki, ale zapisuj je w dodatkowej tabeli w bazie, a potem tylko odczytuj - cacheowanie statystyk?
xbigos
Pisałem już ze dodatkowa tabela nie wchodzi w grę ani cachowanie zapytań.
nexis
A może pokażesz kawałek kodu, bo nie zawsze duża ilość danych musi spowalniać pracę systemu, a może masz źle napisany kod. Może uda się coś zoptymalizować?

Swoją drogą odrzucasz niektóre rozwiązania bez podania przyczyny. Wiesz, że to jest złe rozwiązanie, czy po prostu chcesz narzucić sposób?
xbigos
Chce narzucic sposób poniewaz ja z gory mam narzucony sposob rozwiazania. duzego wyboru mi nie dali. poza tym kodu jeszcze nie mam napisanego. zanim zabieram sie za pisanie zawsze planuje aplikacje. oczywiscie stworzyc moge sobie nowa tabele ale staram sie zrobic tak jak klient mi narzucil i jakie sa zalozenia klienta.

cachowanie zapytan odpada poniewaz nie jest napisana klasa obslugi mysql. i musze sam to napisac. a za tak niskie pieniadze nie za bardzo mi sie widzi. staram sie przejsc po najnizszej linii oporu. chcialem napisac osobny modul i zastosowac to rozwiazanie co podalem w pierwszym poscie.

zadalem to pytanie poniewaz zastanawiam sie jak bedzie z wydajnoscią. staram sie patrzec w przyszlosc. i szukam optymalnego rozwiazania.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.