Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Cuvanje tagova u bazi - kako?

[es] :: PHP :: Cuvanje tagova u bazi - kako?

[ Pregleda: 499 | Odgovora: 7 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

kelja

Član broj: 70429
Poruke: 956
77.46.228.*

Sajt: www.sinisake.com


Profil

icon Cuvanje tagova u bazi - kako?28.04.2008. u 13:19

Pravim neki hotornot klon, gde bi korisnici trebalo da pored osnovnih podataka o slici(kategorija, pol, godine fotografisanog(fotografisane)) unesu i kljucne reci/izraze (tagove) po kojima bi se slika mogla naci(na sajtu ce biti tag cloud ili obicna drop down lista tagova, uglavnom, neka vrsta pretrage po tagovima bi trebalo da postoji).

Moje je pitanje kako te tagove smestiti u bazu, sta je najlakse najbolje, najefikasnije za buducu pretragu.
Sta biste vi uradili?

(Pretpostavljam da najbolje i najlakse ne mora da bude isto:))

Da li da drzim tagove u posebnoj tabeli, i to da svaki tag smestam u poseban red u tabeli, povezan preko id-a sa slikom,
ili da jednostavno smestim tagove odvojene zarezom (ili prazninom) u istu tabelu u kojoj su i slike, samo da dodam jedno polje za njih, pa bi jedan red u tabeli ''slike'' izgledao, recimo, ovako: id, ime_slike, rejting, broj ocenjivanja, pol, staros', tagovi???

28.04.2008. u 13:19 

dakipro
Dalibor Jovic
PHP Developer, SMDesign, Ciplex
Novi Sad

Moderator
Član broj: 31848
Poruke: 664
89.216.108.*



Profil

icon Re: Cuvanje tagova u bazi - kako?28.04.2008. u 13:25
Mislim da je sasvim ok da tagove cuvas u jednom polju (bar i ja tako planiram da organizujem tagove). A pretraga posle ide lagano LIKE %naziv_taga% i nema da omane... nema da joinujes, da povecavas bazu, vadis relacije itd. E sad, zavisi kako ces ih prikazivati, sredjivati duplikate tagova i to, taj deo bi mogao da bude malo manje optimizovan, mada to zavisi od konkretnog slucaja.
Iskreno, mislim i da je baza i optimizovanija ovako, i da ce brze da se ponasa.
28.04.2008. u 13:25 

kelja

Član broj: 70429
Poruke: 956
77.46.228.*

Sajt: www.sinisake.com


Profil

icon Re: Cuvanje tagova u bazi - kako?28.04.2008. u 13:41
Ok, hvala.
28.04.2008. u 13:41 

wizarded
Subotica/Budimpesta

Član broj: 173987
Poruke: 9
*.catv.broadband.hu.

ICQ: 111418231
Sajt: literatura.vts.su.ac.yu


Profil

icon Re: Cuvanje tagova u bazi - kako?04.05.2008. u 13:25
Citat:
dakipro: Mislim da je sasvim ok da tagove cuvas u jednom polju


slazem se
04.05.2008. u 13:25 

mb_sa

Član broj: 50529
Poruke: 156
89.146.181.*



Profil

icon Re: Cuvanje tagova u bazi - kako?05.05.2008. u 07:48
Treba imati na umu da MySQL ne korsiti indexe na upitima sa LIKE '%tags%'
05.05.2008. u 07:48 

dakipro
Dalibor Jovic
PHP Developer, SMDesign, Ciplex
Novi Sad

Moderator
Član broj: 31848
Poruke: 664
*.dynamic.sbb.rs.



Profil

icon Re: Cuvanje tagova u bazi - kako?05.05.2008. u 07:52
Cak iako se polje `tagovi` indexira? Onda uvek mora `=` da bi mysql koristio indexe?
05.05.2008. u 07:52 

mb_sa

Član broj: 50529
Poruke: 156
89.146.181.*



Profil

icon Re: Cuvanje tagova u bazi - kako?05.05.2008. u 08:47
Polje koje je indexirano ne mora znaciti da će ga mysql koristiti. Polje jednstavno nije kandidat za kreiranje indexa na njim ili upit je napisan tako da mysql ne moze da korisiti index. Recimo, ako imas indexirano polje datum sa vrijendostima '2008-05-05' i onda u upitu radis WHERE YEAR(datum) = 2008, logicno da mysql nece korstiti index, jer imas indexirano '2008-05-05', a ne '2008'.

Ovdje piše kada mysql koristi, a kada ne koristi index:
http://dev.mysql.com/tech-reso...esentation-oscon2000-20000719/

05.05.2008. u 08:47 

dakipro
Dalibor Jovic
PHP Developer, SMDesign, Ciplex
Novi Sad

Moderator
Član broj: 31848
Poruke: 664
*.dynamic.sbb.rs.



Profil

icon Re: Cuvanje tagova u bazi - kako?05.05.2008. u 09:01
Super, hvala ti...
Imao sam neku pogresnu predstavu o tome izgleda, ili nisam dovoljno obracao paznje.
Koristan info, thx again
05.05.2008. u 09:01 

[es] :: PHP :: Cuvanje tagova u bazi - kako?

[ Pregleda: 499 | Odgovora: 7 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.