Quelle est la meilleure option à utiliser dans SQL? ou p> merci p> p> P>
4 Réponses :
Dans cette situation, mon modèle est d'utiliser des coalesce: ou p>
Ils devraient être identiques, mais je faisais des tests sur certaines très grandes instructions de sélection et ISNULL (x, 0) = 0 un type similaire se sont révélés plus rapides. P>
La conclusion logique sur ceci est que l'équipe SQL a optimisé cela en quelque sorte. P>
Pas au point, la regroupement doit être utilisée sur Isnull, car la coalesce est la méthode SQL standard tandis que ISnull est spécifique à MS. Cela signifie que, à l'avenir (selon les pensées de la SP), Isnull pourrait être obsolète. P>
Sauf si vous rencontrez des problèmes de performance, je suggérerais d'utiliser le plus facile pour vous de lire. Coallece et Isnull sont identiques quand il n'y a que deux valeurs (c'est-à-dire null et 0) p>
Le "meilleur" à utiliser dépend de la requête que vous écrivez, c'est à partir du coalesce page dans Bol p>
Isnull and Coalise bien équivalent, peut se comporter différemment. Une expression impliquant isnull avec non-null Les paramètres sont considérés comme non NULL, tandis que les expressions impliquant Regrouper avec des paramètres non nuls est considéré comme nul. p> blockQuote>
Alors sans en savoir plus sur toute la requête, ils sont probablement équivalents mais YMMV et sans tester réellement, vous ne pouvez pas supposer que ce sera plus rapide. P>
En outre, la comparaison de
isnull code> àcoalesce code> n'est utile que lorsque vous devez choisir entre deux valeurs. Dès qu'il y a plus de deux, vous devrez utilisercoalesce code>. P>