CommandType.StoredProcedure vs CommandType.Text dans l'exécution de procédures stockées
L'exécution de procédures stockées en C# avec CommandType.StoredProcedure pose la question : est-ce nécessaire? Cela offre-t-il des avantages par rapport à l'utilisation de CommandType.Text ? Cet article examine les avantages des deux méthodes.
Paramétrage par défaut
Selon une étude de blog, SQL Server paramètre automatiquement les instructions dans sp_executesql lorsque CommandType.Text est utilisé. En revanche, CommandType.StoredProcedure paramétre explicitement les procédures, allégeant la charge de travail de la base de données et améliorant ainsi les performances.
Tests et résultats
À l'aide de SQL Server Profiler, nous avons testé les procédures stockées appelé avec les deux variantes de CommandType. Dans les deux cas, des appels RPC ont été générés.
CommandType.Text
exec sp_executesql N'dbo.Test',N'@Text1 nvarchar(5),@Text2 nvarchar(5)',@Text1=N'Text1',@Text2=N'Text2'
CommandType.StoredProcedure
exec dbo.Test @Text1=N'Text1',@Text2=N'Text2'
Conclusion
Par conséquent, pour obtenir les meilleures performances et la meilleure flexibilité des paramètres, utilisez CommandType.StoredProcedure lors de l'exécution de procédures stockées en C#.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!