Zastanawiam się jak rozwiązać pewien problem ze statystykami. Otóż raz dziennie chcę generować statystyki (w formie liczb) dla każdego z użytkowników. Statystyki te będa zbierane z 10 ostatnich dni a wynik reprezentowany później na wykresie. Przy każdym generowanym zapytaniu najstarsze dane powinny być nadpisane najnowszymi. Tabela będzie przechowywać około 1000 - 2000 rekordów.
Tabela prawdopodobnie będzie miała strukturę podobną do tej:
Kod
id | stat1 | stat2 | stat3 (...) | stat10 |
I teraz pytanie: jak najwydajniej rozwiazać ten problem? Sam wpadłem na kilka pomysłów ale nie mam pojęcia który najlepiej się sprawdzi dla tabeli o przewidywanej wielkości. Oto one:
1) zwyczajnie kasować dane z pola stat1;
przepisywać dane z stat2 -> stat1; stat3 -> stat2 itd;
do kolumny stat10 wprowadzić nowe dane
2) całkowicie usunąć stat1;
kolumnę stat2 przemianować na stat1; stat3 na stat2 itd
dodać kolumnę stat10 i wypełnić danymi
3) Podejść cwanie do problemu i stworzyć wzór wyznaczający w której tabeli danego dnia będą najnowsze statystyki;
wtedy przesunięcie o 1 'pozycję' do przodu wskaże najstarsze które wyzeruję i w wolne miejsce wprowadzę nowe dane.
oczywiście wtedy to pole będzie uznawane, za najnowsze.
4) A może spotkaliście się już Państwo z takimi problemami i macie inne pomysły na jego rozwiązanie?
Pozdrawiam