Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 5 odgovora
  • 2.117 pregleda

Najnovija ↓

Limit unutar JOIN 29.01.2013. u 10:42 · pre 167 meseci #1
Pozdrav svima!


Imam glavnu tabelu `prod` koja sadrzi primary key (ID) proizvoda i recimo ID korisnika koji je to unjeo. Imam drugu tabelu sa poljima npr.

prod_data(
product_id int,
field varchar(20),
val varchar(255)
)

Za jedan ID proizvoda, postoji vise zapisa u _data tabeli.

Ako zelim izlistati recimo 5 poslednjih proizvoda sa podacima iz _data tabele koristim ovakav query:


Code:
SELECT m.id, m.user_id, d.fld, d.val
FROM ((SELECT id, def_lang FROM `prod` ORDER BY `id` DESC LIMIT 5) AS m ) 
LEFT JOIN `prod_data` AS d 
   ON d.confnum_id = m.id



Kasnije to kroz program organizujem po zelji...

Da li mislite da postoji bolji nacin za ovo i da li bi moglo praviti probleme sa velikom `prod_data` tabelom tipa 100.000+ redova ?


Pozdrav!
Re: Limit unutar JOIN 29.01.2013. u 11:40 · pre 167 meseci #2
Sve zavisi kakvi su ti ostali sql-ovi u programu.
Mozda je bolje resenje da prvo samo uradis selektovanje iz prod tabele
a onda u petlji za svaki id iz prod tabele uradis po jedan selekt iz prod_data tabele.

Ovo bi ti verovatno brze radilo ali opet sve zavisi.
Ubrzati mozes i ako uradis particionisanje tabela, sto opet sve zavisi od ostalih sql-ova sto imas.


Potpis
[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
Re: Limit unutar JOIN 29.01.2013. u 11:55 · pre 167 meseci #3
Ja bih pre napravio u bazi view koji izdvaja samao najnovije slogvoe po artiklima pa njeg akoristio u join-u. Mada, svakako to treba premeriti i videti da li bi dalo neko ubrzanje.
Potpis
http://pedja.supurovic.net - http://wireless.uzice.net - Besplatni .RS domeni - Mikrotik uputstva - YT9TP - OpenStreetMap Srbija
Re: Limit unutar JOIN 29.01.2013. u 15:41 · pre 167 meseci #4
Citat:
Predrag Supurovic: Ja bih pre napravio u bazi view koji izdvaja samao najnovije slogvoe po artiklima pa njeg akoristio u join-u. Mada, svakako to treba premeriti i videti da li bi dalo neko ubrzanje.


view kod mysql-a tesko da moze da izazove bilo kakvo ubrzanje
Potpis
arhimed
http://www.mysql.rs/ | http://elco.crsndoo.com/
Re: Limit unutar JOIN 29.01.2013. u 15:57 · pre 167 meseci #5
Citat:
vatri:

Ako zelim izlistati recimo 5 poslednjih proizvoda sa podacima iz _data tabele koristim ovakav query:


poslednjih po kom kriterijumu ?
ID ne mora da bude po redu.


Citat:
vatri:
Da li mislite da postoji bolji nacin za ovo i da li bi moglo praviti probleme sa velikom `prod_data` tabelom tipa 100.000+ redova ?


ako je sve indexirano kako treba, ne
Potpis
arhimed
http://www.mysql.rs/ | http://elco.crsndoo.com/
Re: Limit unutar JOIN 13.02.2013. u 10:10 · pre 166 meseci #6
Izvinjavam se bio u guzvi ne stigoh prije se javiti.

Bogdane,
ID mi je AUTO_INCREMENT pa po njemu listam, mada to nije sustina moga pitanja. Zanimalo me je samo koliko bi to moglo praviti probleme sto se tice brzine pod uslovom da su tabele pravilno indeksirane, a ti si odgovorio. Malo sam ja probavao i sa nekim probnim podacima (100.000+) i radilo je brzo tako da bi ovo trebalo biti OK.

View koliko znam, a rece i Bogdan, ne utice na brzinu, a raditi sa petljama mi se ne svidja :)


Uglavnom hvala svima!
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme