Pereiti prie turinio

Pora klausimu del mysql


Rekomenduojami pranešimai

Labai reiketu patyrusio zmogaus(-niu) sioje srityje keleto patarimu del duomenu bazes optimizavimo.

 

Taigi, turime lentele su tarkim ~50 lauku, dalis ju naudojami retai, kita dalis pastoviai, praktiskai kekvieno puslapio uzkrovimo metu. Lenteleje duomenys priklauso vienam ir tam paciam 'objektui', tarkim pastatui. Ar verta lentele skaidyt i keleta logiskai sugrupuotu grupiu pagal tam tikrus parametrus, ar geriau laikyti viska vienoje lenteleje? Zinoma, reikes ir uzklausu su visais duomenimis is karto, tad kaip butu geriau?

 

Antras dalykas del kurio lauzau galva kelinta diena: tarkim, jog vienam pastatui (gyvenamajam) priklauso tam tikros patalpos (virtuve, dusas, miegamasis, ...), virtuvei prilkauso tam tikri baldai, iranga (valgomasis stalas, saldytuvas, ...), tiems baldamas priklauso papildomi baldai ar irankiai (kedes, saldytuvo dureles ir t.t.). Kitas pastatas gali buti garazas su visiskai kitokiais baldais, irengimais, irankiais, dar kitas gali buti komercines patalpos. Savaime suprantama jog nei baldai, nei irengimai nesutama. Taigi klausimas butu toks, ar geriau gyvenamajam pastatui priskirti visas patalpas i viena laukeli ir jas uzklausos pagalpa 'issitraukti' i masyva, atitinkamai butu ir atskiroms patalppatalpoms priskiriami baldai, baldams priedai ir t.t., ar priskiri tarkim virtuvei gyvenamaji pastata, virtuviniam stalui - virtuve ir taip toliau ir veliau sukuoti visa lentele kol surandami visi priklausomi baldai tarkim virtuvei? Reiketu kuo optimalesnio varianto dideliems duomenu kiekiams apdoroti ranadant visus priklausomus 'baldus', 'irankius' tam tikram pastatui arba tam tikrai patalpai.

 

Nezinau ar suprantamai paaiskinau, tinkamesnio ir paprastesnio pavyzdzio nesugalvojau. O gal yra kitas, tobulesnis budas saugot ir isgaut pavyzdyje pateikta informacija?

 

Jeigu nesuprantamai parasiau, bandysiu pavaizduot visa tai kitu budu.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

DEl 50 lauku. jai tau patogu gali ir taip buti o uzklausa turetu buti mysql_query("select butas,namas,miestas darkas From....");

taip nepazymes visus laukus kaip Mysql_query("select*from. pataisykit jei klystu pataisykit

Redagavo edas1
Nuoroda į pranešimą
Dalintis kituose puslapiuose

dėl pirmo tai nelabai supratau, ką nori paklaust. Norėtųsi detalesnio aprašymo lentelės

 

dėl antro, jei teisingai supratau, ko nori, tai siūlau daryti taip.

 

Lentelė objektai:

 

Id | Pavadinimas | Tipas

---------------------

1 | Virtuvė | Kambarys

2 | Garažas | Kambarys

3 | Stalas | Daiktas

4 | Šaldytuvas | Daiktas

5 | Mašina | Daiktas

6 | Maistas | Įrankis

7 | Veržliaraktis | Įrankis

 

Tipas laukelis tik tam, kad pats nepasimestum tarp duuomenų

 

tada lentelė rysiai:

 

Id | šakos_id | šaknies_id

------------------------------

1 | 1 | 0 (virtuvė, aukščiausias hierarchijos lygis)

2 | 3 | 1 (virtuvėj yra stalas)

3 | 4 | 1 (virtuvėj yra šaldytuvas)

4 | 6 | 2 (maistas yra ant stalo)

5 | 6 | 4 (maistas yra šaldytuve)

 

6 | 2 | 0 (yra garažas)

7 | 5 | 6 (mašina yra garaže)

8 | 7 | 7 (veržliaraktis yra mašinoj)

9 | 3 | 6 (stalas yra garaže)

 

gaunasi toks hierarchinis principas su nesvarbu kiek šakų. Patogu informaciją aprašyti, tik, gal būt kiek neoptimalu.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...