Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> dane tymczasowe/statystyki sposób przechowywania
ChrisB
post
Post #1





Grupa: Zarejestrowani
Postów: 73
Pomógł: 4
Dołączył: 13.01.2004
Skąd: Bielsko-Biała

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


mam tabelkę z danymi tymczasowymi typu ile postów na forum razem, ile dzisiaj, ilu graczy sie zalogowało itp itd
zakładając że jest tych danych skończona ilość - obecnie około 20 - co jakiś czas dodaje coś nowego - myślę że 100 nie przekroczy wcale
jaki jest najlepszy sposób ich przechowywania w bazie? (przy każdym odświeżeniu strony wszystkie te dane są plus minus potrzebne - pobieram je na początku kodu i później niektóre z nich wykorzystuje - ale nie wiem które będą potrzebne więc pobieram wszystkie)

aktualnie mam je w formie wierszy - jako index,value (nazwa zmiennej, wartosc)
i pytanie czy nie lepiej zrobić to jako kolumną ?


--------------------
gragieldowa.pl
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Pilsener
post
Post #2





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Jeśli staty są generowane co jakiś czas to dobrą opcją jest słać to od razu do pliku (nawet zapytaniem sql da się to zrobic), metodę generującą staty odpalamy jak chcemy (zmiana bazy, przeterminowanie pliku, w tle co x czasu, gdy admin ma urodziny).

Zakładam, że jest to używane na stronie w takiej postaci, w jakiej jest generowane i nie służy do innych celów.
Go to the top of the page
+Quote Post
ChrisB
post
Post #3





Grupa: Zarejestrowani
Postów: 73
Pomógł: 4
Dołączył: 13.01.2004
Skąd: Bielsko-Biała

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


nie chce w pliku
co do danych - jakas część tej tabelki aktualizowana jest srednio raz na sekunde (tzn w szczycie 1 update na sekunde idzie do niej i jakies 3x select - takze w sumie jest to najczesciej operowana tabelka i dlatego cche by byla optymalnie ustawiona)
dlatego update set value='warotsc' where 'index'='nazwa zmiennej'

zamienil bym na update 'nazwakolumny - nazwa zmiennej' ='nowa wartosc' where id=1

i zamiast pobierac 20-100 rekordów pobierał bym 1 ze setka kolumn..

ma to sens?


--------------------
gragieldowa.pl
Go to the top of the page
+Quote Post
Pilsener
post
Post #4





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Jeśli to mają być faktycznie dane tymczasowe i chcesz mieć to w bazie, to polecam tabele typu memory

A teoretycznie czy to ma sens... być może, ale masz się dostosować do charakterystyki serwisu i jego obciążenia, więc cel uświęca środki, dziś może to być update 1/sekunda a za pół roku 100. Najlepiej to kontrolować, wszelkie statystyki bym generował w tle, nawet jeden dodatkowy proces co sekundę jest lepszy, niż x dodatkowych zapytań do bazy na sekundę.
Go to the top of the page
+Quote Post
ChrisB
post
Post #5





Grupa: Zarejestrowani
Postów: 73
Pomógł: 4
Dołączył: 13.01.2004
Skąd: Bielsko-Biała

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


to nie są dane tymczasowe tylko dane typu:
- ilość osób w rankingu - zamiast pobierać z tablicy ranking ile jest rekordów - pobieram tą wartość i przy przeliczaniu rankingu ją uaktulaniam
- ilość postów na forum - zwiększana o 1 przy dodawaniu / zmniejszana przy kasacji
itp itd
także - nie sa to dane tymczasowe - ze je pobieram/modyfikuje i zapisuje inne dla kazdego - bardziej to jest taki cache pewnych wartości

ale nadal problem polega na tym:
czy jedna wartosc=1 wiersz w tablicy
czy może wszystkie naraz w jednym wierszu jako kolumny

i przetestowałbym ale nie bardzo mam jak więc dlatego pytam


--------------------
gragieldowa.pl
Go to the top of the page
+Quote Post
Pilsener
post
Post #6





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Oddzielne pole dla każdej wartości, zgodne ze sztuką i bardziej intuicyjne. Zrób z tego tabelę memory by przyśpieszyć odczyt i aktualizację. I sam przyznałeś, że to ma być rodzaj cache, dlatego najlepiej by było zrobić tablicę tych wartości, zserializować ją i zapisać w pliku.
Go to the top of the page
+Quote Post
Crozin
post
Post #7





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Trzymasz po prostu jako zwykłą tabelę z kluczem i wartością. Ta tabela jest tak mała (te raptem 20 - 100 rekordów), że jestem niemalże pewien, że nie ma ona jakiegokolwiek realnego wpływu na wydajność Twojej aplikacji. Od biedy możesz ją sobie cache-ować i odświeżać co przykładowo 30 sekund.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 09:21