Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> baza - problem z przyrostem i wydajnością
golytm
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 21.02.2017

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


Witam.

Posiadam następujący problem.
Jedna z tabel w mojej bazie danych posiadająca 21 kolumn przechowuje dane statystyczne. Na chwilę obecną posiada około 30 000 rekordów. Wyszukiwanie w tejże tabeli następuje głównie względem kolumny 'domain' (łączna liczba różnych 'domain' to 42 i co jakichś czas się zwiększa). Średni przyrost bazy to około 3000 rekordów miesięcznie - przyrost wykazuje tendencje rosnącą.
Oczywiście pojawił się problem wydajności bazy i czasu otrzymywania wyników z zapytań.
W związku z powyższym zabieram się za optymalizację mechanizmów obsługi tej bazy. Stąd moja prośba o Wasze opinie, propozycje. Zastanawiam się nad następującymi rozwiązaniami:

1. Tabela przechowuje rekordy tylko z ostatnich 3 miesięcy (mniej więcej tyle muszę mieć "od ręki" dostępne z zapytania do bazy), wszystkie starsze rekordy zrzucane byłyby do archiwum. Jakie to archiwum? pliki xml? Do danych z archiwum też muszę mieć dostęp, choć zakłam, że dane z niego nie będą potrzebne dość często.

2. Każda z 'domain' posiada oddzielną przypisaną tabelę ze statystykami. Liczba tabel zwiększała by się zatem z czasem (jak pisałem wcześniej ilość 'domain' także rośnie)

3. Rezygnacja z tabeli na rzecz przechowywania danych w plikach np xml i parsowania ich w trakcie zapytań (najmniej odpowiadająca mi opcja)

Jakie jest Wasze zdanie? Co proponujecie ?


Z góry dziękuję za odpowiedzi

Wojtek
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


1. bez sensu. Zacznij o tym myśleć dopiero jak ilość danych będzie na prawdę spora. Np. po roku możesz sobie przenieść do takiej samej tabeli tylko nazwanej np. archive_cóśtam.
2. Kolejny błąd. Duplikujesz tabele. Nie ma to najmniejszego sensu.
3. Również bez sensu bo utrudnia Ci to pracę.

Pokaż strukturę tabeli, pokaż zapytania. Podejrzewam że odpowiednie nałożenie indeksów pozwoli Ci poprawić znacząco wydajność. 30k rekordów to bardzo mało więc ewidentnie masz skopaną strukturę.
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: 27.12.2025 - 23:40