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

Limit unutar JOIN

[es] :: MySQL :: Limit unutar JOIN

[ Pregleda: 1434 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
188.124.193.*



+18 Profil

icon Limit unutar JOIN29.01.2013. u 09:42 - pre 136 meseci
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!
 
Odgovor na temu

VladaSu

Član broj: 31634
Poruke: 1099
*.ptt.rs.



+218 Profil

icon Re: Limit unutar JOIN29.01.2013. u 10:40 - pre 136 meseci
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.



[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
 
Odgovor na temu

Predrag Supurovic
Pedja YT9TP
Užice

Član broj: 157129
Poruke: 6279

Sajt: pedja.supurovic.net


+1570 Profil

icon Re: Limit unutar JOIN29.01.2013. u 10:55 - pre 136 meseci
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.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.dynamic.sbb.rs.

Sajt: mysql.rs


+2377 Profil

icon Re: Limit unutar JOIN29.01.2013. u 14:41 - pre 136 meseci
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
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.dynamic.sbb.rs.

Sajt: mysql.rs


+2377 Profil

icon Re: Limit unutar JOIN29.01.2013. u 14:57 - pre 136 meseci
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
 
Odgovor na temu

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
188.124.193.*



+18 Profil

icon Re: Limit unutar JOIN13.02.2013. u 09:10 - pre 136 meseci
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!
 
Odgovor na temu

[es] :: MySQL :: Limit unutar JOIN

[ Pregleda: 1434 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

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