Zdravo svima.
Recimo da imam tabelu 'tekstovi'
Kôd:
TEKSTOVI
id, naslov, broj_prikaza (broj pregleda jednog teksta)
Podatak 'broj_prikaza' se dobije izvrsavanjem jenodstavnog UPDATE upita, tipa:
Kôd:
UPDATE tekstovi SET broj_prikaza = broj_prikaza+1 WHERE id = 344363;
Ovaj podatak prikazujem na razlicitim mjestima, poput skracenog prikaza teksta u njegovoj kategoriji, na naslovnoj stranici, na prikazu samog teksta i slicno
Znam da je ovaj upit jako jednostavan i brz (pise u mysql dokumentaciji), ali ce se oni izvrsavati kod svakog prikaza oglasa.
Problem je sljedeci: Kao sto znamo kada se radi UPDATE nad nekom tabelom ta tabela ce biti lockovana i svi SELECT upiti ce biti na cekanju, a radi se o glavnoj tabeli koja ce se korstiti u svakom upitu. Takodjer, koliko znam bilo kakav update nad nekom tabelom će poremetiti interni mysql cache, tako da i tu postoje određeni gubici. A stranica bi trebala da bude jako posjećena.
Ja sam razmisljao da se napravi dodatna tabela 'prikazi':
Kôd:
PRIKAZI
id_tekst,broj_prikaza
U kojoj ce se vrsiti svi moguci update vezani za prikaz teksta, a onda bih nariktao cron job (svaka 24h, sa obzirom da mi ne trebaju real time podaci) koji ce sumarne prikaze prbaciti u tabelu 'tekstovi', tako da bih ih imao u glavnoj tabeli, izvlacio kada mi trebaju, a pomenuta tabela ne bi bila opterecena pomenutim update upitom.
Pretpostavljam da JOIN ove dvije tabele ne dolazi kao rješenje (sa ciljem da se izbjegne CRON job), jer bi i tada se pojavljivali 'isti problemi', a plus bi imli dodatno spajanje tabela.
Da li moja razmisljanja su ispravna i kakva su vaša iskustva sa ovim o čemu trenutno pišem?
Hvala unaprijed na učešću u temi.
Pozz, mb