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 |
|
|
|
![]() |
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ę. |
|
|
|
golytm baza - problem z przyrostem i wydajnością 21.02.2017, 01:17:46
javafxdev 30k rekordów i już problem z wydajnością? Pokaż ja... 21.02.2017, 08:21:13
golytm Hej,
Poniżej struktura:
CREATE TABLE `test... 21.02.2017, 09:49:52
Pyton_000 Nie masz żadnego indeksu na "name", załó... 21.02.2017, 10:32:02
javafxdev ogólnie to co wkleiłeś chyba nie zadziała - PRIMAR... 21.02.2017, 12:53:39
golytm Hej,
Dzięki za odpowiedz. Nie ściema, choć faktyc... 21.02.2017, 15:40:42 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 23:40 |