Otázka znie: čo je výhodnejšie pre PC?
Zpravidla se ma za to, ze vetsine optimalizeru na strane RDBMS vyhovuje spis joinovani, nektere umi prevracet join<->subquery podle toho, co jim vychazi lepe. Ale neplati to vzdy. Hodne zalezi, jak a kde se vyskykuji agregacni funkce, jestli ty joiny do vysledku vytahaji duplicity apod.
Takze ja bych se pridrzel tech pravidel:
1. srozumitelnost dotazu a jeho udrzovatelnost, protoze neni vylouceno, ze do toho budes za 1/2 roku muset znovu sahnout
2. co te nepali nehas: vykon bych resil jedine v pripade, ze by se ukazal jako nedostatecny, coz by se projevilo zejmena pri vytvareni nejakeho vyuctovani v davkach a nebylo by unosne si na vysledek pockat.
3. pokud se zpracovava neco v davce, je dobre do aplikace nastrkat mereni casu a vysledky si pamatovat a zobrazovat, abys videl, jak se to v case s narustajicimi daty chova, viz treba graf v mem prispevku
http://forum.delphi.cz/index.php/topic,16000.msg98706.html#msg987063. No a pokud bys to musel optimalizovat, tak to stejne bude chtit execution plan, z nej navrhnout nejaka opatreni, vytvorit ruzne varianty a ty zmerit a porovnat.