mysql - pocet tabuliek

Programovacie jazyky, rady, poradňa...
S.T.E.A.L.T.H
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 933
Registrovaný: 31 jan 2010, 14:44
Bydlisko: Pegasus Galaxy

mysql - pocet tabuliek

Príspevok od používateľa S.T.E.A.L.T.H »

Zdravím vospolok

Mám na Vás takú otázočku. Keď ukladám dáta do mysql databázy a mám to riešené takým štýlom, že každému prípadnému užívateľovi je priradená vlastná tabuľka, tak či je to je nejaký problém. Pre databázu etc. Čo sa výkonu týka je výhodnejšie robiť všetko v jednej tabuľke alebo je to v podstate jedno.

Ďakujem
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: mysql - pocet tabuliek

Príspevok od používateľa audiotrack »

je to hlúposť, a smrdí to zlým návrhom databázy
S.T.E.A.L.T.H
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 933
Registrovaný: 31 jan 2010, 14:44
Bydlisko: Pegasus Galaxy

Re: mysql - pocet tabuliek

Príspevok od používateľa S.T.E.A.L.T.H »

Ja sa v podstate len učím, ale tak zaťažuje to nejako viac systém ako jedna tabuľka?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: mysql - pocet tabuliek

Príspevok od používateľa audiotrack »

to záleží od veci čo s tým systémom budeš robiť
test
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 5099
Registrovaný: 13 mar 2005, 5:20
Bydlisko: Doma

Re: mysql - pocet tabuliek

Príspevok od používateľa test »

Ked budes mat 5000 userov, co potom?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: mysql - pocet tabuliek

Príspevok od používateľa audiotrack »

test napísal:Ked budes mat 5000 userov, co potom?
problém ani nie je v počte, ale v operáciach ako som už napísal. MySQL nemá žiadne limity na počet tabuliek (tie sú dané iba operačným systémom, miestom na disku a pod.). Takže stačí aby mal napríklad iba 5 užívateľov, no bude z nich chceť nájsť jedného ktorý vyhovuje nejakému kritériu. Alebo bude mať 3 užívateľov, a teraz sa registruje nový s rovnakým menom (dve tabuľky s rovnakým názvom nemôže mať). Je tam proste kopec iných problémov. To množstvo je najmenší problém
weroro
Flash coder
Flash coder
Používateľov profilový obrázok
Príspevky: 3206
Registrovaný: 14 feb 2009, 22:34
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: mysql - pocet tabuliek

Príspevok od používateľa weroro »

audiotrack napísal:Alebo bude mať 3 užívateľov, a teraz sa registruje nový s rovnakým menom (dve tabuľky s rovnakým názvom nemôže mať).
To by ma zaujímalo ako by sa riešilo prihlasovanie ak by bolo dovolené aby mali užívatelia rovnaké nicky. :o
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: mysql - pocet tabuliek

Príspevok od používateľa audiotrack »

na zaklade mailu :P
S.T.E.A.L.T.H
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 933
Registrovaný: 31 jan 2010, 14:44
Bydlisko: Pegasus Galaxy

Re: mysql - pocet tabuliek

Príspevok od používateľa S.T.E.A.L.T.H »

Tak taky problem, zeby som potreboval vyhladavat medzi tabulkami nemam, na to mam vyhradenu jednu, kde su vsetci uzivatelia, ale napr. co potrebujem, je riesit chat. Mam to riesene tak, ze uzivatelia medzi sebou maju tabulky a tam sa zapisuje konverzacia. Je to pre mna takto vyhodne. Len neviem, ako sa to riesi niekde inde. Ja som to vymyslel nejako a neviem, ci to nebude zatazovat system.
weroro
Flash coder
Flash coder
Používateľov profilový obrázok
Príspevky: 3206
Registrovaný: 14 feb 2009, 22:34
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: mysql - pocet tabuliek

Príspevok od používateľa weroro »

Chat? Prečo má každý užívateľ svoju tabuľku do ktorej sa budú ukladať jeho správy? tie správy sú medzi nejakým konkrétnym užívateľom alebo sú to správy odoslané verejne a môžu ich čítať všetci?
Ja v mojom chate, kde sa správy posielajú verejne podobne ako na pokeci v miestnosti, to riešim takto:

Mám tabulku s uzivatelmi kde je - ID : nick : heslo : práva : aktivita : nastavenie1: nastavenie2: nastavenie3: nastavenie4 : BANstatus

potom mám tabuľku so spravami: ID : Odosielatel : Prijimatel : správa : cas a datum : vynimka
S.T.E.A.L.T.H
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 933
Registrovaný: 31 jan 2010, 14:44
Bydlisko: Pegasus Galaxy

Re: mysql - pocet tabuliek

Príspevok od používateľa S.T.E.A.L.T.H »

No jo, verejne by som to tiez tato riesil, ale toto je cisto sukromne, verejne tam nie je nic. Mam to spravene tak (mozno debilne, ale ked som to robil, tak ma to tak napadlo), ze ked si niekto pridava niekoho k priatelom, tak sa automaticky vytvara tabuka "user1_user2_chat", ale to je v podstate neunosne vela tabuliek. Na druhej strane narvat to do jednej tabulky, tak to mam na kazdy enter v chat okne jeden riadok, co je este hrosie. A nemam ani tusaka ako sa ato riesi niekde "profesionalne".
javatar
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6112
Registrovaný: 12 aug 2010, 14:49
Bydlisko: I don't exist at all.

Re: mysql - pocet tabuliek

Príspevok od používateľa javatar »

profesionalne - asi obdobne ako weroro a ver tomu, ze si usetris kopu casu a starosti ak to spravis ako ti pise
S.T.E.A.L.T.H
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 933
Registrovaný: 31 jan 2010, 14:44
Bydlisko: Pegasus Galaxy

Re: mysql - pocet tabuliek

Príspevok od používateľa S.T.E.A.L.T.H »

Len ja to nechem mat verejne...:(
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: mysql - pocet tabuliek

Príspevok od používateľa audiotrack »

to je jedno či verejne alebo neverejne. Tvoj argument je ako "staviam auto. Kolesá mi netreba a volant dám na strechu. Veď ja ho chcem iba v garáži, nepotrebujem na ňom jazdiť"
Tvoj návrh stojí za hovno a bude nefunkčný. Možno bude niečo fungovať (ako-tak) ale budeš riešiť plno problémov na ktoré narazíš neskôr a ich vyriešenie nebude ani zďaleka tak efektívne
S.T.E.A.L.T.H
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 933
Registrovaný: 31 jan 2010, 14:44
Bydlisko: Pegasus Galaxy

Re: mysql - pocet tabuliek

Príspevok od používateľa S.T.E.A.L.T.H »

OK, tak sa spytam takto, bude to v pohode, ak od vsetkych uzivatelov budu sukromne spravy v kope v jednej tabulke, ktora bude mat po milu jarmilu riadkov?
test
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 5099
Registrovaný: 13 mar 2005, 5:20
Bydlisko: Doma

Re: mysql - pocet tabuliek

Príspevok od používateľa test »

S.T.E.A.L.T.H - Sukromne spravy riesis zase tak, ze budes mat ID spravy, ID odosielatela, ID prijmatela, predmet spravy, text spravy. A to vsetko v jednej tabulke. To, ze tam bude milion sprav a teda milion riadkov nevadi, na to je DB stavana.
S.T.E.A.L.T.H
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 933
Registrovaný: 31 jan 2010, 14:44
Bydlisko: Pegasus Galaxy

Re: mysql - pocet tabuliek

Príspevok od používateľa S.T.E.A.L.T.H »

Akoze ja nemam problem to prerobit ani nemam problem s tym aby som nevedel ako na to, chcel som vediet, ci to "musim" prerabat vzhladom na zatazenie systemu, nie na sposob riesenia. Btw, aj ked v konecnom dosledku to prerobim na jednu tabulku na Vasu radu...no, aj tak by som rad vedel, ci viac tabuliek s podstatne menej datami zatazuje db server viac ako jedna s kvantami dat.
axxis
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3690
Registrovaný: 29 máj 2007, 21:53
Bydlisko: Spálené mlyny
Kontaktovať používateľa:

Re: mysql - pocet tabuliek

Príspevok od používateľa axxis »

weroro napísal: To by ma zaujímalo ako by sa riešilo prihlasovanie ak by bolo dovolené aby mali užívatelia rovnaké nicky. :o
Tento a mnoho dalsich dovodv je preco by malo byt primarnym klucom umelo vytvorene ID (kludne cislo zo sekvencie)
Funkcionalitu primarneho kluca na uzivatelsky prijemnejsi atribut potom vynutis pomocou unique
S.T.E.A.L.T.H napísal:Akoze ja nemam problem to prerobit ani nemam problem s tym aby som nevedel ako na to, chcel som vediet, ci to "musim" prerabat vzhladom na zatazenie systemu, nie na sposob riesenia. Btw, aj ked v konecnom dosledku to prerobim na jednu tabulku na Vasu radu...no, aj tak by som rad vedel, ci viac tabuliek s podstatne menej datami zatazuje db server viac ako jedna s kvantami dat.
odpoviem rozdiel, ktory by si dostal v Oracle databazi, mySQL nepoznam
ak mas jednu tabulku a v nej 5000 riadkov, z ktorych ma kazdy pre lahke pocitanie 2kb tak mas jediny zaznam v systemovom katalogu, ktory ma 15kb a 10000kb dat

ak by si spravil pre kazdeho vlastnu tabulku tak mas tych istych 10000kb dat plus 75000kb v systemovom katalogu a navyse velky bordel v db. Chces niekomu grantovat alebo odobrat prava? 5000 zbytocnych operacii ked to mohla byt jedna. Chces vyhladavat v jednej tabulke - je ulozena ako B+ strom ergo to ide rychlo, navyse mozes tvorit indexy alebo ju priamo specialne ulozit fyciky (cluster, hashovana tabulka....), mozes spajat s ostatnymi tabulkami....
Ak by si pre kazdeho uzivatela spravil osobitnu tabulku stratis vsetku funkcionalitu, ktoru kedy pre Teba kto naprogramoval, redo a undo log (to mozes chapat ako ochranu proti chybovosti) a ani nehovorim ako si spomalis dotazovanie na viac ako jednu polozku (miesto rychleho selectu budes spajat tabulky)
javatar
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6112
Registrovaný: 12 aug 2010, 14:49
Bydlisko: I don't exist at all.

Re: mysql - pocet tabuliek

Príspevok od používateľa javatar »

stealth - verejne, ci neverejne to je jedno - profesionalne riesenia maju byt jednoduche, nenarocne na HW, rychle ako v runtime tak na naprogramovanie - ja osobne by som to spravil ako pise weroro bez ohladu ci by som riesil chat mna s priatelkou alebo chat pol miliona ludi
S.T.E.A.L.T.H
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 933
Registrovaný: 31 jan 2010, 14:44
Bydlisko: Pegasus Galaxy

Re: mysql - pocet tabuliek

Príspevok od používateľa S.T.E.A.L.T.H »

Ok...dakujem za rady, mam co prerabat :D
Napísať odpoveď