DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   SQL baze podataka - Sponzor: Baze-Podataka.net (http://www.devprotalk.com/forumdisplay.php?f=10)
-   -   Vise tabela ili jedna sa vise recorda (http://www.devprotalk.com/showthread.php?t=10913)

spezia 29. 03. 2012. 13:24

Vise tabela ili jedna sa vise recorda
 
Pozdrav svima,

Imam sledeci problem...
Treba da napravim stranicu statistike, koja vraca recorde iz baze po mesecima... (to sam sa php-om vec resio)
Npr. izaberes april, i vrati sve recorde za april 2012.

E sad, posto se planira da tabele ima mnogo unosa,
kolega mi predlaze da se napravi ista tabela naziva "tabela_{datum}", gde ce svaka sadrzati samo unose za taj mesec, te godine. Razlog, da kada se uzima statistika, da se obrada vrsi na sto manje podataka...
Sa druge strane, zamisli da imam za 24 meseca 24 takve tabele... sto komplikuje stvari.
Kako se resava ovaj problem??

Uzmimo za primer da ce mesecno biti 300 000 unosa.

dee 29. 03. 2012. 13:39

Obradu ionako vrsis uvijek nad selektiranim podacima (koji su za mjesec dana) tako da ti je, sto se obrade tice, svejedno odakle si ih dobio.

Ostaje ti velicina tabele kao kriterij. Ako ti velicina tabele ne prelazi neku kriticnu cifru za godinu dana, onda je bolje napraviti godisnje tabele (jer ce ih biti manje). To sad ovisi o kojoj bazi se radi i testiranju kako se ponasa i sto je granicna vrijednost velicine tabele (u smislu prihvatljivih performansi).

U ovom slucaju, 300 000 mjesecno x 12 mjeseci = 3.6x10^6 recorda nije cifra zbog koje bih ja brinuo (na MS SQL 2008) i uvijek bih odabrao svo vise podataka je moguce imati u istoj tabeli (opet kazem, uz kriterij da su mi performanse zadovoljavajuce).
Ovisi, naravno, i o indeksima, njihovoj vrsti, ucestalosti promjena...

ivanhoe 29. 03. 2012. 23:05

Sto se mySQL-a tice 3-4 miliona recorda nisu problem. Ranije je MyISAM znao da puca kad tabela naraste preko ~2GB, ali koliko znam InnoDB nema tih problema (a mozda ni MyISAM vise, nisam dugo koristio), a i sumnjam da ces ti uspeti za godinu dana skupiti 2 GB statistike.

Drugi potencijalni problem je ukupan broj tabela, jer kad je puno tabela, a upiti su random (otvaraju sve tabele podjednako) zna biti problem sa performansama, ali to je opet kriticno kod vise hiljada tabela, nema sanse da naletis na taj problem.

Tako da uradi ono sto ti je najjednostavnije i ne brini...

spezia 29. 03. 2012. 23:36

Ok, hvala


Vreme je GMT +2. Trenutno vreme je 13:25.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.