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

Subquery vs. JOIN

[es] :: Baze podataka :: Subquery vs. JOIN

[ Pregleda: 2397 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

chemical brother

Član broj: 26031
Poruke: 55
*.lanaco.com.



Profil

icon Subquery vs. JOIN02.06.2010. u 14:37 - pre 169 meseci
Pozdrav,

da li neko zna sta se brze i efektivnije izvrsava, podupit ili join?

Ako baratamo sa ciframa zapisa, reda par desetina hiljada, sta se bolje pokazuje podupit ili join?

Bilo kakva komparativna analiza je dobrodosla.

Hvala!
 
Odgovor na temu

Zidar
Canada

Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: Subquery vs. JOIN02.06.2010. u 19:38 - pre 169 meseci
Zavisi od baze podataka, verzije i konkretnih uslova.

Za MS SQL, do verzije 2005 generalno je vazilo da je JOIN brzi nego subquery. Medjutim, od verzije 2005 query optimizer generise identicne planove izvrsavanja u mnogim slucajevim za JOIN i subquery. Druge baze mozda rade drugacije. I JOIN i subquery dozvoljavaju ti da anpises los kveri. Desava se i da za neki broj redova N JON radi brze, a kada se predje neka granica subquery postaje brzi. I nema nacina da se unapred predvidi da li ce se i na kojoj grancic ovako nesto desiti. probas pa sam vidis ima li razlike i da li je znacajna.

 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Subquery vs. JOIN05.06.2010. u 15:21 - pre 168 meseci
po pravilu - join uvek moze bolje da se optimizuje (Da se nadje optimalniji execution path). od baze do baze / optimizera do optimizera mogu da budu bolji ili losiji ... tako da ce nekad greskom optimizera subquery da bude brzi - ali generalno pravilo je da je join brzi. Skoro svaki rdbms ti daje mogucnost da pogledas execution path nekog upita (explain) pa ti je lako da uporedis.
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.adsl.eunet.rs.



+19 Profil

icon Re: Subquery vs. JOIN06.06.2010. u 00:29 - pre 168 meseci
Ova tema me podsetila na jednu stariju dilemu:
šta je brže pri spajanju tabela, LEFT JOIN ili "kartezijski skup"?

Ako se dobro sećam na nekom forumu sam davno pročitao da je JOIN brži, ali malo pre sam pokušao da to i sam testiram kroz PMA ali mi uvek ispiše isto vreme (0.0003 sec).

Bogdane, dali se to sada u novijim verzijama (testirao na mysql 5.1.33) stvarno izjednačilo ili me keš zeza?
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

aleksandar.dragojlovic
Aleksandar Dragojlović
Kraljevo

Član broj: 142052
Poruke: 100
*.dynamic.sbb.rs.



Profil

icon Re: Subquery vs. JOIN06.06.2010. u 02:10 - pre 168 meseci
Zdravo svima. Iz nekog razloga (valjda su me tako ucili ?) ja pre koristim JOIN. A i mnogo ga je lakse koristiti u symfony-ju sa Propel-om...
 
Odgovor na temu

chemical brother

Član broj: 26031
Poruke: 55
*.lanaco.com.



Profil

icon Re: Subquery vs. JOIN07.06.2010. u 13:13 - pre 168 meseci
I ja sam pretpostavio tako, mada me nešto navelo da počnem sumnjati u prednosti JOIN-a. Naime, ako već koristimo podupit, a znamo da se može koristiti i u select-u, where-u, ili from-u, interesuje me sad gdje bi ga najprije trebalo koristiti i kada, ako već imamo potrebu?
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3453

Jabber: djoka_l


+1462 Profil

icon Re: Subquery vs. JOIN07.06.2010. u 13:33 - pre 168 meseci
Ma lepo ti je bogdan.kecman rekao. Pogledaš execution plan upita, pa onda odlučiš šta treba da radiš.

Recimo, kad smo migrirali aplikaciju sa Oracle 10g na 11g, potrošili smo 6 meseci da proverimo kako će aplikacija raditi samo zbog izmene optimizera, a ne zbog uvođenja novih funkcionalnosti.

Jednostavno, nema prostog odgovora šta će brže raditi, čak i na istoj verziji baze na istom operativnom sistemu, ali sa različitim skupom podataka, isti kveri može da proizvede različite execution planove.
 
Odgovor na temu

aleksandar.dragojlovic
Aleksandar Dragojlović
Kraljevo

Član broj: 142052
Poruke: 100
*.dynamic.sbb.rs.



Profil

icon Re: Subquery vs. JOIN07.06.2010. u 14:20 - pre 168 meseci
Citat:
djoka_l: Ma lepo ti je bogdan.kecman rekao. Pogledaš execution plan upita, pa onda odlučiš šta treba da radiš.

...

Jednostavno, nema prostog odgovora šta će brže raditi, čak i na istoj verziji baze na istom operativnom sistemu, ali sa različitim skupom podataka, isti kveri može da proizvede različite execution planove.


U potpunosti se slazem.
 
Odgovor na temu

[es] :: Baze podataka :: Subquery vs. JOIN

[ Pregleda: 2397 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

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