Information générale
Forum:
Microsoft SQL Server
Versions des environnements
SQL Server:
SQL Server 2014
Network:
Windows Server 2012
>>>Difficult to say whether it is better to one or the other, as a logical level are equal.
>>>If one has faith in the sql engine, use IN () because it is more explicit.
>>>The only certainty is that the OR is the sql server nemesis.
>>
>>Thanks
>
>I realize that the original
>
>>>>The first one was about using a regular syntax such as WHERE Client.NoProvince=1 OR Client.NoProvince=2 while the other one was using the IN approach such as WHERE Client.NoProvince IN (1,2).
>
>probably was ONLY example data. But the very first thought (guessing that NoProvince is intX typed) for optimization would be "Between" or the equivalent >= and <= query syntax to skip the problem Fabio mentioned ;-)
>
>BTW &ge and &le were tried first but not translated in preview at least ;-)
the true headache begin when you have this situation:
where condition1 OR condition2
both condition1 condition2 that are optimized
but the engine generates a plan that run across the all table.
I solve with a UNION, which has zero readability,
but it can be thousands of times faster
Précédent
Suivant
Répondre
Voir le fil de ce thread
Voir le fil de ce thread à partir de ce message seulement
Voir tous les messages de ce thread
Voir tous les messages de ce thread à partir de ce message seulement