| | |
| Stránka: 1 z 1
| [ Príspevkov: 8 ] | |
Autor | Správa |
---|
Registrovaný: 09.05.09 Prihlásený: 07.10.13 Príspevky: 63 Témy: 20 Bydlisko: Košice |
Takze mam databazu (mysql) a v nej zoznam uzivatelov (vela, radovo tisice) tito uzivatelia sa navzajom mozu ukladat do zoznamu (nieco ako priatelia atd.).
Potrebujem radu, ako zapisat ze kto je komu priatel... Kazdy uzivatel by mal svoje specificke originalne ID a meno upravovatelne. Nacitanie mien priatelov a niektore podrobnosti sa bude konat kazde prihlasenie a preto by som potreboval poradit ako by to bolo najvhodnejsie a teda najrychlejsie
Jedine co napadlo mna je, ze vytvorim stlpcek do tabulky uzivatelov "priatelia" kde budu ID priatelov oddelene napr. bodkociarkami a pri nacitani by som postupne s pomocou PHP funkcie explode zistoval ID, nacitaval podla nich meno a ostatne, a vypisoval.
Nemam velke skusenosti s databazami a preto by ma aj zaujimalo ako maju zoznamy priatelov riesene vacsie aplikacie ako fora (phpbb, smf...) alebo Azet atd. a ze ci je moje riesenie logicke a vhodne
vdaka
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
vytvor si novu tabulku, ktora bude obsahovat id uzivatela a k nemu priradene id jeho priatela... kazde priatelstvo bude predstavovat jeden riadok v tabulke...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 09.05.09 Prihlásený: 07.10.13 Príspevky: 63 Témy: 20 Bydlisko: Košice | Napísal autor témy scrysurn: 31.05.2009 20:29 | |
|
takze to bude efektivnejsie?
tak vdaka
|
|
Registrovaný: 16.07.07 Prihlásený: 31.07.22 Príspevky: 1225 Témy: 92 | Napísal sedlák: 31.05.2009 20:45 | |
|
jednak efektivnejsie a jednak prehladnejsie ...
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
stenley, určite to bude rýchlejšie? vezmime si povedzme databázu s 10 000 užívateľmi (malý zahraničný portál). Každý user bude mať povedzme 10-40 priateľov (povedzme že ide o portál k nejakej hre, takže je predpoklad veľa kamarátov). Z toho nám teda vyjde, že v tej druhej tabuľke by bolo cca 10000x40 záznamov, a teda 400 000 / 2 (lebo priateľstvo je obojstranné), čo je teda spolu 200 000 záznamov.
Naozaj by nebolo rýchlejšie riešenie "do riadku"? Neviem, nemal som možnosť si porovnať rýchlosti, preto sa pýtam... Rád sa naučím dačo nové.
_________________ C#, PHP, ... |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
400 000 zaznamov je vela podla teba?? ono urcite je to lepsie, ako mat vsetkych priatelov v jednom stlpci, ci uz vychadzame z povahy samotnej relacnej db alebo faktu, co by robil, keby chcel k jednotlivym priatelom pridat nejaku informaciu, ako by to podla teba spravil? To by potom aj tabulka s nazvami clankov mohla obsahovat len jeden riadok, ktory pozostava zo stlpca, kde su nazvy clankov oddelene bodkociarkou... treba sa nad strukturou tabuliek najskor zamysliet, ci je riesenie naozaj efektivne a potom na nom stavat... samozrejma je vsak optimalizacia, nastavenie indexov, a vsetko, co s tym suvisi... osobne som pracoval s radovo milionmi zaznamov a po optimalizacii tam nebol ziadny problem s rychlostou...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
ok dík, toto je už lepšie vysvetlené
_________________ C#, PHP, ... |
|
Registrovaný: 09.05.09 Prihlásený: 07.10.13 Príspevky: 63 Témy: 20 Bydlisko: Košice | Napísal autor témy scrysurn: 12.06.2009 19:53 | |
|
no pozrel som si databazu redakcneho systemu SMF a tam su priatelia ukladany do jedneho stlpca... buddy_list a skutocne tam su data napriklad aj v takejto forme:
Kód: 5,4,1672,274,35,135,1681,45,3,944,465,455,3138,4139,4620,89,77,630,225,208,7659,3174,8897
ale zrejme po tvojom vysvetleni to budem aj tak riesit vytvorenim novej tabulky...
|
|
| Stránka: 1 z 1
| [ Príspevkov: 8 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|