4951
Server / Re:SQL dotaz bez opakování výsledků
« kdy: 20. 11. 2014, 14:39:04 »Ja som si vzdy myslel a aj s tym zijem, ze Databazovey engine moze spravit optimalizaciu, ale aj ja mu viem dat vediet ze nechcem to optimalizovat alebo mu podstrcit to akym smerom sa ma jeho optimalizacia uberat.Exekuční plán neřeší jenom optimalizace, ale především to, jak se vůbec dotaz bude provádět. Vy databázi říkáte jenom co chcete, a databáze z toho vyrobí jak to dostat – optimalizace je až následný krok. Nad tím převodem z co na jak programátor opravdu přímou kontrolu nemá. Samozřejmě ale může to samé co vyjádřit různými způsoby (přičemž ne vždy databáze může poznat že jsou ty varianty ekvivalentní – protože programátor může zahrnout i nějaký předpoklad, který v databázovém schématu není vyjádřen), a také může dát databázi různé nápovědy k tomu, jak exekuční plán sestavit.
Takze si nemyslim "...že progamátor nemá přímou kontrolu nad tím jak se budou složitější dotazy..."
Pokoušet se ale optimalizovat dotaz zrovna v tomhle případě je nesmyslné, protože pokud už by bylo potřeba tuto věc optimalizovat, je jediné rozumné řešení normalizovat databázi. A pak nebude co na dotazu optimalizovat, protože to bude výpis všech hodnot v jednom číselníku.
