CommandType.StoredProcedure vs CommandType.Text in Stored Procedure Execution
Melaksanakan prosedur tersimpan dalam C# dengan CommandType.StoredProcedure: ini menggesa soalan perlu? Adakah ia memberikan apa-apa faedah berbanding menggunakan CommandType.Text? Artikel ini menyiasat kelebihan kedua-dua kaedah.
Parameterisasi Lalai
Menurut kajian blog, SQL Server secara automatik parameterkan pernyataan dalam sp_executesql apabila CommandType.Text digunakan. Sebaliknya, CommandType.StoredProcedure secara eksplisit menetapkan parameter prosedur, meringankan beban kerja pangkalan data dan dengan itu meningkatkan prestasi.
Pengujian dan Keputusan
Menggunakan SQL Server Profiler, kami menguji prosedur tersimpan dipanggil dengan kedua-dua variasi CommandType. Dalam kedua-dua kes, panggilan RPC telah dijana.
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'
Kesimpulan
Oleh itu, untuk mendapatkan prestasi terbaik dan fleksibiliti parameter, gunakan CommandType.StoredProcedure apabila melaksanakan prosedur tersimpan dalam C#.
Atas ialah kandungan terperinci CommandType.StoredProcedure atau CommandType.Text: Manakah yang Lebih Baik untuk Pelaksanaan Prosedur Tersimpan dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!