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

Encore une fois :procédure stockée contre TV-UDF

Je pense que vous comparez des pommes et des oranges et, du moins, je n'ai jamais vu de discussions à ce sujet. Il y a des discussions pour savoir si vous devez utiliser les UDF et il y a des discussions pour savoir si vous devez utiliser des procédures stockées ou du SQL ad hoc.

Une UDF en ligne est quelque chose que vous pouvez utiliser dans une requête et une procédure stockée est quelque chose que vous pouvez exécuter et la plupart de vos puces sont une conséquence de cette différence.

Une UDF en ligne ressemble plus à une vue qu'à une procédure stockée. Une vue paramétrée qui peut être utilisée dans les requêtes et peut être parfois utilisé pour accélérer les choses .

J'aimerais beaucoup voir un scénario dans lequel une UDF en ligne et une procédure stockée font la même chose et ont des performances différentes.

Si la procédure stockée n'écrit jamais rien, il n'y a aucune différence dans le verrouillage.

Je ne sais pas pour les gens, mais pour moi, tout tourne autour de la discussion sur la procédure stockée par rapport à sql ad hoc. Je préfère les procédures stockées, les autres préfèrent ad hoc. Si vous souhaitez utiliser des fonctions définies par l'utilisateur à la place de procédures vous vous retrouvez dans le camp sql ad hoc.