PHP.EE FOORUM   
Nimi:   Pass:   Mäleta mind! 
   Teemad | php.ee esilehele | registreeri | Märgi kõik teemad loetuks | #php.ee Skype vestlus | RSS
UUS TEEMA  OTSI  Lehekülgi: 1
MySql maksimaalsed arvud
Postitaja: lp 2013-04-28 05:09:00
Tere,
Küsiks, kui palju võiks mahtuda veerge ja ridu sql-tabelisse, tabeleid ühte sql-andmebaasi.d
Tänan
RE: MySql maksimaalsed arvud
Postitaja: Evelin Hilves 2013-04-28 10:39:49
Need piirangud on piisavalt suured, et sul ei peaks kunagi selle üle muretseda. Veergude max arvud leiab siit http://dev.mysql.com/doc/refman/5.5/en/column-count-limit.ht


There is a hard limit of 4096 columns per table, but the effective maximum may be less for a given table. The exact limit depends on several interacting factors.


Üldiselt on lood ikkagi minul nii, et kui ma näen mõnes tabelis üle a'la 30 veeru, siis tekib pähe esimese mõttena kehvast andmebaasi disainist (googelda "andmebaasi normaliseerimine"). Muidugi on olukordi, kus 100 veeru tekitamine on OK, kuid need on juba sellised erijuhtumid, millega enamus arendajaid kunagi kokku ei juhtu (tegemist on pigem mingi raportite/andmelao baasiga kui operatiivbaasiga).

RE: MySql maksimaalsed arvud
Postitaja: lp 2013-04-28 16:55:32
Nojah, kuid esialgu ei tea paremat disaini sellele lahendusele, kus on tabel veergudega

id
nimi_et
nimi_en
nimi_fi
...

ühte taolist infosüsteemi olen meisterdamas, kus hiljem saaks lihtsalt erinevate keelte tõlkeid lisada.
RE: MySql maksimaalsed arvud
Postitaja: ise php 2013-04-28 20:35:12
aga neid keeli sul ju ei lisandu 4096 , et pole vist eriti mõtet muretseda.
RE: MySql maksimaalsed arvud
Postitaja: ise php 2013-04-28 20:37:43
Lihtsalt üks mõte...

Mul tehtud selline tõlkesüsteem, kus sõnad väljendid on masiivis ja masiiv on salvestatud andmebaasi väljale vastava keele alla.
RE: MySql maksimaalsed arvud
Postitaja: blaa 2013-04-28 21:24:13
Kui üks keel tuleb juurde, mida siis teed? Lisad nimi_ru ?
Või kui lisandub uus andmeväli "kirjeldus_*", lisad 4 veergu?

Mul on tehtud näiteks nii:
tootetabel:
ID
kood
staatus
...

tootetõlgete tabel:
toote_id
nimi
kirjeldus
keel
unique(toote_id, keel)

tõlked joinid külge ja õige keelega. Lisaks saab päringu ehitada nii, et võetakse default keele tõlge, kui aktiivses keeles tõlge puudub.

Vähegi suuremas süsteemis unusta ära massiivide inkluudimised. Olen selliseid näinud. Aeglased ja õgivad mälu. Tõlked hoiad andmebaasis, ni on neile lihtsam teha tõlkemoodul. Ning ehitad cache süsteemi, et ainult konkreetse lehe/urli/toote/toote nimekirja cached on cache kataloogis hashitud nimega failis serialiseeritult, mida siis lehe kuvamisel sisse loetakse.
RE: MySql maksimaalsed arvud
Postitaja: retseptid 2013-04-29 16:41:24
blaa kas sama struktuuri nagu sa näites välja tõid võiks kasutada ka toidu retseptide puhul?

retseptitabel:
ID
nimi

koostisosa tabel:
ID
nimi

yhiku tabel:
ID
nimi

retsepti koostisosa tabel:
retsept_id
koostisosa_id
kogus
yhik_id


Või siis veergudaga ühte tabelisse.

retseptitabel:
ID
nimi
koostisosa_1
kogus_1
yhik_1
koostisosa_2
kogus_2
yhik_2
koostisosa_3
kogus_3
yhik_3
koostisosa_4
kogus_4
yhik_4
RE: MySql maksimaalsed arvud
Postitaja: blaa 2013-04-29 18:28:04
Ikka esimest variant kasuta. Kui sa kõik ühte tabelisse paned, siis jääb see tabel väga auguliseks. Igas retseptis ei ole ju sama palju koostisosi.
RE: MySql maksimaalsed arvud
Postitaja: Vana progeja peer 2013-05-04 12:59:59
Kui tuleb kasutusel väljanimed stiilis nimi_1 ja nimi_2 siis on asi valesti. Grupp nja SuperGrupp kuulub samasse kohta. Järgmine oleks siis HüperGrupp jne ;)))

Leheküljed: 1

©2002-2013 Martin Rebane & PHP.ee kaasautorid
  0.0805971622467