Autor Zpráva
Trsak
Profil
Zdravím,
nikdy jsem nic podobného nepotřeboval, tak se chci radši obrátit na Vás.

Dejme tomu, že mám databázi a v ní tabulku s asi 50 000 uživateli. Každý uživatel má sloupec body. Data tahám z jiné stránky a pomocí cronu je každých 5 hodin v databázi upravuji. Potřeboval bych však vytvořit jakousi historii toho, jak uživatelům rostou body pro různé grafy. Jak na to?

Napadlo mě prostě přidat sloupec "update_time" a pak brát jen ty nejnovější, při tvorbě grafu by pak nebyl problém vyhledat historii bodů.

To by ale znamenalo, že každých 5 hodin přidám 50 000 záznamů, není pro toto nějaké jednodušší a praktičtější řešení?

Díky.
martin1312
Profil
Vytvoriť ďalšiu tabuľku `body`, ktorú budeš spojovať s užívateľmi. Teda v tabuľke `body` budeš mať stĺpce: ID_uzivatel, suradnice, cas_pridania.
Aktuálne súradnice bodov budú tie s najvyšším časom. Históriu získaš s dotazom na selectnutie bodov podla ID uzivatela ORDER BY cas_pridania.

Áno, bude to znamenať ukladanie 50 000 záznamov každú hodinu, ale bez toho sa nedá realizovať žiadna história. Aspoň nepoznám iný spôsob.
Infinity
Profil *
Není, tu historii zkrátka musíš mít někde uloženou. Dále záleží na konkrétních požadavcích. Nestačí si například pamatovat jen hodnoty za poslední měsíc? Musí být ta data tak jemná? Například si můžeš pro starší data ukládat denní/týdenní průměr namísto těch detailních hodnot.

Pokud ale potřebuješ vykreslovat stejně detailní grafy i z rok starých dat, tak bych žádné řádově lepší řešení neočekával.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: