Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Cuvanje podatka - Datum

[es] :: MySQL :: Cuvanje podatka - Datum

[ Pregleda: 779 | Odgovora: 10 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Aleksandroz
Aleksandar
NS

Član broj: 132586
Poruke: 26
*.eunet.yu.



Profil

icon Cuvanje podatka - Datum02.03.2008. u 22:36

E ovako. Hteo bih da napravim npr. kao neki forum. (Tako cu bolje objasniti).
Kako se u svakoj poruci u forumu prikazuje i datum kada je postavljena poruka, moje pitanje je
da li je bolje da napravim neku tabelu sa svim vrednostima datuma pa da svaki put kada se postavi neka poruka, onda polje Datum (koje oznacava kada je postavljena poruka) sadrzi ID iz tabele datuma.
Da li je to bolje resenje ili da svaki put kada postavim neku poruku, da se u polje Datum upise i pravi datum, umesto da referencira u tabelu datuma.

Hocu da napravim tabelu datuma da bih izbegao konstantno zauzimanje puno memorije konstantnim upisivanjem istog datuma. Umesto toga bih napravio tabelu svih datuma od sada pa na dalje, a u polju 'Datum' bih samo stavljao index u tabeli datuma.

Sta mislite da li je ovo dobro resenje? Da li se na taj nacin radi kada se prave forumi? (navodim forum samo kao primer da bih lakse objasnio)

Hvala.
02.03.2008. u 22:36 

centaur
Ivan Pavković
web developer, Kaywa AG
Beograd

Član broj: 65691
Poruke: 255
*.dynamic.sbb.co.yu.

ICQ: 249678363
Sajt: www.pavko.info


Profil

icon Re: Cuvanje podatka - Datum03.03.2008. u 07:52
Mislim da je logičnije da u svakom redu tabele u koji upisuješ podatke o pojedinačnom postu pišeš i datum kada je upisan.
Ako datume snimaš u posebnu tabelu, moraš pri svakom listanju da "džojnuješ" tabelu sa datumima što i pored toga što bi to bila relativno "brza" tabela nije baš najoptimalnije (ta tabela bi bila prilčno velika) + kada snimaš post, imao bi još jedan query za upis datuma.

PS Držao sam se primera foruma :)

[Ovu poruku je menjao centaur dana 03.03.2008. u 15:46 GMT+1]
Powered by Slackware 12.1
03.03.2008. u 07:52 

vilyu
Beograd, Srbija

Član broj: 1188
Poruke: 374
*.adsl.beotel.net.



Profil

icon Re: Cuvanje podatka - Datum03.03.2008. u 09:06
Kao sto je centaur vec pomenuo, datum definitivno ide uz post. Posebno zato sto ces ubrzo uvideti da ti treba i vreme, pa onda to predje u datetime polje koje uopste nije zajednicko za razlicite postove. Sa druge strane, jedno datetime polje uopste nije veliko i ne opterecuje bazu. Plus je i fiksne sirine, pa ce sekvencijalna pretraga tvoje tabele ici brze ako si i sva ostala polja zadrzao da budu fiksne sirine. U svakom slucaju, gubitak memorije je zanemarljiv naspram gubitka u brzini izvrsavanja ako bi to polje izmestio.
Zagledan u zvezdano nebo pametan covek poludi, a budala zaspi.
03.03.2008. u 09:06 

centaur
Ivan Pavković
web developer, Kaywa AG
Beograd

Član broj: 65691
Poruke: 255
*.adsl-2.sezampro.yu.

ICQ: 249678363
Sajt: www.pavko.info


Profil

icon Re: Cuvanje podatka - Datum03.03.2008. u 09:32
Ja to polje čak ne bih držao ni kao datetime već kao običan integer i u njega bih upisivao timestamp.

PS Mada o ovome nisam baš promislio tako da ovo govorim sa rezervom da možda to nije najbolje rešenje
Powered by Slackware 12.1
03.03.2008. u 09:32 

Aleksandroz
Aleksandar
NS

Član broj: 132586
Poruke: 26
*.ns.ac.yu.



Profil

icon Re: Cuvanje podatka - Datum03.03.2008. u 10:17
Ovo pitam, jer ne bi mi datum bio samo vezan za poslate poruke, vec i za npr. privatne poruke.
Recimo da ima ovoliko poslatih poruka kao i na ovom forumu - oko 1.000.000 i ako bi mi Date polje
zauzimalo 10 byta (DateTime oko 20 byta) to je ukupno megabajta:

(1.000.000 * 10)/1024/1024= 9.53 MB

I to samo za smestanje datuma. A ako pih napravio jednu tabelu sa samo datumima od 1. Jan do 31. dec
i drugu tabelu sa godinama, A onda u polje datum upisao 1-1 (koje bi oznacavalo 1. Jan - 2008), to bi imalo ustedu od oko 5 MB
pod tim gore uslovima. Ali pitam se da li se to tako radi u velikim forumima koji imaju puno poruka, da li oni tako smanju velicinu baze ili ipak
cuvaju cito datum bez ovakvih zavrzlama. I da li bi to puno znacilo u smanjenju brzine baze, ako bih tako povezivao datum za neku drugu dodatnu tabelu.

I ne bih imao veliku tabelu.Ako bih prosirivao tabelu, onda bi to samo bila sa godinama.

Hvala na odgovorima. Evo sada sam malo vise pojasnio problem :)
03.03.2008. u 10:17 

centaur
Ivan Pavković
web developer, Kaywa AG
Beograd

Član broj: 65691
Poruke: 255
*.adsl-2.sezampro.yu.

ICQ: 249678363
Sajt: www.pavko.info


Profil

icon Re: Cuvanje podatka - Datum03.03.2008. u 10:31
Opet ja sa mojim integerima :)
Ako staviš da ti to polje bude INT , koje zauzima 4 bajta, onda si dosta uštedeo gledano ovom tvojom računicom.
U svakom slučaju, smatram da je ova tvoja ideja nepotrebno komplikovanje jednostavne stvari, a to treba izbegavati u developmentu :)

[Ovu poruku je menjao centaur dana 03.03.2008. u 15:45 GMT+1]
Powered by Slackware 12.1
03.03.2008. u 10:31 

mVeliki
Miroslav Ćurčić
Novi Sad

Član broj: 19034
Poruke: 616
*.adsl.beotel.net.



Profil

icon Re: Cuvanje podatka - Datum03.03.2008. u 10:35
Da imaš milion poruka, češaćeš se po glavi gde da smestiš sadržaj poruke i njen naslov.
Najmanje će te brinuti tih sitnih 4 bajta za datum postavljanja/editovanja i ostali integeri.
"The quieter you become, the more you are able to hear."
03.03.2008. u 10:35 

Aleksandroz
Aleksandar
NS

Član broj: 132586
Poruke: 26
*.ns.ac.yu.



Profil

icon Re: Cuvanje podatka - Datum03.03.2008. u 10:42
Izgleda da ste u pravu (centaur i mVeliki). Mozda i jeste sve to bezvezno komplikovanje!!

centaur - razmislicu o tim Integerima :) . Sada na brzinu, mislim da je ipak bolje da bude Date promenjiva, verovatno ima neka veca funkcionalnost podrzana od strane MySQL-a, ako upisem pravi datum (mozda), ali hvala u svakom slucaju.

Poz.
03.03.2008. u 10:42 

centaur
Ivan Pavković
web developer, Kaywa AG
Beograd

Član broj: 65691
Poruke: 255
*.dynamic.sbb.co.yu.

ICQ: 249678363
Sajt: www.pavko.info


Profil

icon Re: Cuvanje podatka - Datum03.03.2008. u 19:15
Teško da ćeš bilo šta izgubiti vezano za funkcionalnost ako koristiš integere.

Nisam bio lenj pa sam bacio pogled na bazu VB-a.
Svuda gde je potrebno da se pamti i vreme i datum koriste se integeri.

Powered by Slackware 12.1
03.03.2008. u 19:15 

Tyler Durden
System administrator
Beograd

SuperModerator
Član broj: 4312
Poruke: 1893
*.adsl.verat.net.

Jabber: Tyler@elitesecurity.org
ICQ: 70139169


Profil

icon Re: Cuvanje podatka - Datum03.03.2008. u 20:17
mmm, nije mi to uopste palo na pamet (timestamp da zapisujem kao int). sad sam i ja malo gledao i npr. u SMF forumu takodje se koriste integeri na svim mjestima gdje je timestamp upisivan.
..:: If my love for her has an expiration date, let it be 10,000 years... ::..
03.03.2008. u 20:17 

BigFoot
Boban Jovanović
Čačak

Član broj: 1098
Poruke: 388
*.dynamic.sbb.co.yu.



Profil

icon Re: Cuvanje podatka - Datum03.03.2008. u 21:04
Timestamp i jeste integer, a predstavlja broj sekundi od ponoći (UTC) 1. januara 1970. g. Inace, kod projektovanja baze, kao i inače, treba imati meru i predstavu o veličini. Ušteda od 5 MB jeste značajna, ali u poredjenju sa čim? Ako će pomenuta baza imati 1.000.000 postova, kao što je navedeno za primer, koliko će ostali podaci, osim datuma, zauzeti prostora? Šta je 5 MB u odnosu na to?
Dakle, ne gubiti vreme na sitničarenje i koristiti ono za šta je šta namenjeno. Za forum je itekako bitno imati i vreme svakog posta, pored datuma.
Two beer or not two beer...
03.03.2008. u 21:04 

[es] :: MySQL :: Cuvanje podatka - Datum

[ Pregleda: 779 | Odgovora: 10 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.