2010-10-15 4 views
0

J'ai une question simple concernant les meilleures pratiques en programmation.Désactiver une liste d'utilisateurs dans la base de données

J'ai une base de données qui contient des membres. Après un traitement, j'obtiens une liste d'utilisateurs qui doivent être désactivés dans DB.

J'ai une procédure stockée qui prend UserId comme entrée et désactiver l'utilisateur. Puisque je suis sûr que je dois toujours désactiver plus d'un utilisateur, je pense faire le paramètre d'entrée pour la procédure stockée comme tableau d'ids plutôt qu'ID. En faisant cela, j'ai pensé que je ne devais pas invoquer le SP n fois.

Est-ce une bonne pratique de programmation?

+0

Voici une partie de la sujétion prédite: Voulez-vous les annuler en tant que lot si quelque chose tourne mal? Ou voulez-vous tout ce qui peut réussir pour réussir? – Brad

Répondre

1

Cette question est un peu subjective, mais moins de voyages à la base de données est toujours mieux. Si vous pouvez minimiser cela, je dirais qu'il faut y aller.

J'ai écrit plusieurs SProcs complexes dans le passé qui fonctionnent de la même manière. À la fin, l'une des principales raisons pour lesquelles nous écrivons SProcs est l'optimisation des performances. Si c'est l'une des façons de le faire, alors qu'il en soit ainsi.

+0

Je ne dirais pas toujours. Cela dépend de ce qui est à l'autre extrémité du compromis. – JohnFx

+0

bon point, je devrais dire plus de fois que non ... –

0

Oui. Cela permettra de réduire le nombre de déplacements que le code doit effectuer vers la base de données, ce qui se traduira par moins de frais généraux pour l'application en question. Je ne suis pas personnellement un grand fan des procédures stockées, mais c'est un usage idéal pour eux.