|
| a and (b or c) bedre end (a and b) or (a a~ Fra : Leif Neland |
Dato : 15-05-08 10:44 |
|
Når jeg skriver et query i "sql server enterprise manager" gui'et med et
udtryk som
where a=1 and (b=2 or c=3)
laver den det om til
where (a=1 and b=2)
or (a=1 and c=3)
Er det kun for at kunne vise det i design-tabellen (query by example?)
Eller er det en optimeret måde at skrive det?
Dvs, når jeg bærer det færdige query tilbage til asp-editoren, vil jeg
få det mest effektive query ved at beholde det, eller skrive det
tilbage, som jeg selv lavede det?
| |
Peter Lykkegaard (15-05-2008)
| Kommentar Fra : Peter Lykkegaard |
Dato : 15-05-08 13:22 |
|
"Leif Neland" skrev
> Eller er det en optimeret måde at skrive det?
>
Du kan evt fedte lidt med query analyzeren og se på hvordan MSSQL udfører
din query
Mit gæt er at forskellen er ens, mens læsbarheden måske er bedre i det ene
tilfælde
- Peter
| |
Kristian Damm Jensen (15-05-2008)
| Kommentar Fra : Kristian Damm Jensen |
Dato : 15-05-08 14:53 |
|
Leif Neland wrote:
> Når jeg skriver et query i "sql server enterprise manager" gui'et med
> et udtryk som
>
> where a=1 and (b=2 or c=3)
>
> laver den det om til
>
> where (a=1 and b=2)
> or (a=1 and c=3)
>
> Er det kun for at kunne vise det i design-tabellen (query by example?)
>
> Eller er det en optimeret måde at skrive det?
>
> Dvs, når jeg bærer det færdige query tilbage til asp-editoren, vil jeg
> få det mest effektive query ved at beholde det, eller skrive det
> tilbage, som jeg selv lavede det?
Hvis der er et indeks på a, vil det gøre en verden til forskel. Der er svært
at bruge et indeks på noget der gemmer sig som operand til en or.
--
Venlig hilsen /Best regards
Kristian Damm Jensen
| |
|
|