 |
Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Comunitatea PHP Romania
|
| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
lee
Data înscrierii: 20/Mar/2004
Mesaje: 51
|
| Trimis: Sâm Apr 24, 2004 12:28 pm Titlul subiectului: problema cu join-urile (cred!!!) |
|
|
am o tabela numita users si inca vreo 15 altele: tara, oras, *... astfel:
user: id auto_increment, tara int(2), * int(1)....
tabela tara are doar doua cimpuri: idtara int(2) si numetara varchar(100) si foarte multe valori(vreo 190 de tari)
ex: 43 Romanaia,... 78 USA etc.
tabela * are la fel doar doua cimpuri id si * dar are doar doua valori (1, 'masculin') si (2, 'feminin').
generez selectboxurile din fiecare tabela si este totul foarte frumos. problema este ca la inserarea in tabela users se insereaza numai numere, respectiv in cimpul tara am 43 pt Romanaia, daca este femeie am valoarea 2 in cimpul *... si este ok
asa am vazut la mai toate paginile de pe net daca dai un view source(au cifre sau numere in <option value="5">Franta...)
Problema este ca atunci cind vreau sa afisez datele despre un utilizator trebuie sa iau cite o valoare(care este un int) pe rind din tabela users si sa o compar cu fiecare valoare din tabela corespunzatoare cimpului si dupa aceea pot afisa o valoare corecta, deci cred ca trebuie sa fac vreo 15 join-uri cite tabele am, nu?
ex: iau din tabela users spre ex. valoarea 63 din cimpul tara, intru in tabela tara si vad cui ii corespunde valoarea 63 iar apoi tiparesc ce am gasit, si asa mai departe pt. *, oras,...
As dori sa stiu daca este corect cum procedez eu si daca va functiona cind voi pune site-ul pe net. poate vor fi timpi de asteptare foarte mari sau poate ca nu se va incarca deloc.!!!!!
poate am scris cam mult dar vroiam sa ma fac cit mai bine inteles.
merci |
|
| Sus |
|
Radical
Data înscrierii: 16/Feb/2004
Mesaje: 327
Locație: Bucuresti
|
| Trimis: Lun Apr 26, 2004 9:48 am Titlul subiectului: Re: problema cu join-urile (cred!!!) |
|
|
lee a scris: deci cred ca trebuie sa fac vreo 15 join-uri cite tabele am, nu?
As dori sa stiu daca este corect cum procedez eu si daca va functiona cind voi pune site-ul pe net. poate vor fi timpi de asteptare foarte mari sau poate ca nu se va incarca deloc.!!!!!
Ceea de ai facut tu se numeste normalizare... este un lucru care trebuie facut dar nu trebuie dus pana la extrem.
De exemplu la * nu iti mai trebuia un tabel ca eu unu nu vad decat trei posibilitati M, F si UNDEFINED... lucru care se preteaza foarte bine la un camp de tip ENUM in MySQL...
Un camp de tip enum nu iti schimba formatul randului in MySQL... adica intr-un tabel cu ROW=DYNAMIC adaugand un camp de tip ENUM vom avea tot ROW=DYNAMIC (in general tabele cu campuri de tip TEXT, VARCHAR...), daca ai tabel cu ROW=FIXED (tabele numai cu INT-uri, ENUM, SET...) adaugand un camp ENUM ... tabelul ramane la fel...
Si tot asa... vezi la ce ai mai sarit calu' cu linearizarea... eu am constatat ca orice join pe mai mult de 5 tabele inclusiv ingreuneaza afisarea paginii... in conditiile unui server MySQL setat standard... daca hostul are un GIGANTO-MySQL... nu mai sunt probleme.
(vezi viteza de la http://www.amr.ro/membri.infratiri.amr acolo sunt 5 tabele joinate) |
|
| Sus |
|
D3LIA_B
Data înscrierii: 25/Noi/2006
Mesaje: 1
|
| Trimis: Sâm Noi 25, 2006 4:32 pm Titlul subiectului: |
|
|
Care ma poate ajuta cu MySQL?
Atunci cand creeez o baza de date in MySQL mi-o salveaza cu extensia .frm......iar ca sa ma pot conecta din C# la aceea baza de date imi trebuie extensia .mdb
Ma poate ajuta careva cu un raspuns? |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |
|