2010-06-15 3 views
2

sont les opérations normales comme:C# .net et procédures stockées CLR Question

SUPPRIMER De Produit où ProductID = x plus rapide dans CLR puis normale MS SQL 2005 Serveur Procédures stockées?

+0

Pouvez-vous être plus précis? Mesurez-vous le temps global (y compris le réchauffement AppDomain) ou juste une fois que tout a été chargé (par exemple, plan d'exécution dans la version SP)? –

+0

J'essaie d'optimiser les procédures stockées, afin qu'elles s'exécutent plus rapidement et moins. – RPS

Répondre

3

n °

La recommandation générale est de continuer à utiliser T-SQL pour les opérations à base de set, et considérer que l'utilisation CLR pour les tâches compute-bound (ou des tâches pour lesquelles il n'y a pas d'équivalent T-SQL).

Voir, par exemple, ce MS white paper

0

La réponse courte est non. Bien que la différence soit si minime que vous ne puissiez jamais dire qu'une procédure stockée écrite en T-SQL natif va être plus rapide que celle écrite en C# qui doit être compilée dans MSIL pour s'exécuter.

Vous ne devez effectuer des procédures stockées CLR que si vous ne pouvez pas faire quelque chose en utilisant T-SQL natif. Par exemple, j'ai une procédure CLR qui fonctionne avec EDI et je dois faire une grande quantité de traitement de texte et ce n'est pas très faisable en utilisant T-SQL.

0

Non. En fait, il est plus rapide d'utiliser la procédure stockée, car chaque instruction n'est pas recompilée à chaque utilisation.