Heim > Datenbank > MySQL-Tutorial > CommandType.StoredProcedure oder CommandType.Text: Was ist besser für die Ausführung gespeicherter Prozeduren in C#?

CommandType.StoredProcedure oder CommandType.Text: Was ist besser für die Ausführung gespeicherter Prozeduren in C#?

Susan Sarandon
Freigeben: 2025-01-01 07:01:09
Original
360 Leute haben es durchsucht

CommandType.StoredProcedure or CommandType.Text: Which is Better for Stored Procedure Execution in C#?

CommandType.StoredProcedure vs. CommandType.Text bei der Ausführung gespeicherter Prozeduren

Das Ausführen gespeicherter Prozeduren in C# mit CommandType.StoredProcedure wirft die Frage auf: Ist das so? notwendig? Bietet es Vorteile gegenüber der Verwendung von CommandType.Text? In diesem Artikel werden die Vorteile beider Methoden untersucht.

Standardparametrisierung

Laut einer Blog-Studie parametrisiert SQL Server Anweisungen in sp_executesql automatisch, wenn CommandType.Text verwendet wird. Im Gegensatz dazu parametrisiert CommandType.StoredProcedure Prozeduren explizit, wodurch die Arbeitslast der Datenbank verringert und somit die Leistung verbessert wird.

Tests und Ergebnisse

Mit SQL Server Profiler haben wir gespeicherte Prozeduren getestet wird mit beiden CommandType-Varianten aufgerufen. In beiden Fällen wurden RPC-Aufrufe generiert.

CommandType.Text

exec sp_executesql N'dbo.Test',N'@Text1 nvarchar(5),@Text2 nvarchar(5)',@Text1=N'Text1',@Text2=N'Text2'
Nach dem Login kopieren
  • Der Textaufruf ist in einen sp_executesql-Aufruf eingeschlossen.
  • Parameter werden deklariert, aber nicht verwendet Aufruf.

CommandType.StoredProcedure

exec dbo.Test @Text1=N'Text1',@Text2=N'Text2'
Nach dem Login kopieren
  • Kein zusätzlicher Wrapping oder Parameterdeklaration tritt auf.

Fazit

  • CommandType.StoredProcedure ist aufgrund der expliziten Parametrisierung geringfügig schneller.
  • Mit CommandType.Text, beliebig Zeichenparameternamen müssen im Aufruf enthalten sein, mit Ausnahme von Parametern mit Standard Werte.

Um die beste Leistung und Parameterflexibilität zu erzielen, verwenden Sie daher CommandType.StoredProcedure, wenn Sie gespeicherte Prozeduren in C# ausführen.

Das obige ist der detaillierte Inhalt vonCommandType.StoredProcedure oder CommandType.Text: Was ist besser für die Ausführung gespeicherter Prozeduren in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage