Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Bonne pratique entre ces deux requêtes

Requêtes paramétrées et IN clause ne sont en fait pas trivialement implémentées ensemble si votre IN la liste change de temps en temps.

Lisez cette question et réponses SO :Paramétrer une clause SQL IN

Les paramètres, par conception, sont une seule valeur. Tout le reste doit être implémenté manuellement, en gardant à l'esprit les problèmes de sécurité, tels que Injection SQL .

Du point de vue des performances, vous obtiendrez de meilleures performances pour les requêtes paramétrées, en particulier si une même requête est exécutée à plusieurs reprises, mais avec des valeurs de paramètres différentes. Cependant, si vous avez un IN dynamique liste (parfois 2 éléments, parfois 3), vous ne bénéficierez peut-être pas des requêtes paramétrées.

Ne perdez pas espoir, cependant. Certaines personnes ont pu implémenter cela (requêtes paramétrées et IN clause). Ce n'est, encore une fois, pas anodin, cependant.