Rumah > pangkalan data > tutorial mysql > Bagaimanakah Parameter Bernilai Jadual Boleh Meningkatkan Prestasi Prosedur Tersimpan SQL dan Kesederhanaan Kod?

Bagaimanakah Parameter Bernilai Jadual Boleh Meningkatkan Prestasi Prosedur Tersimpan SQL dan Kesederhanaan Kod?

DDD
Lepaskan: 2025-01-03 05:52:39
asal
499 orang telah melayarinya

How Can Table-Valued Parameters Improve SQL Stored Procedure Performance and Code Simplicity?

Melalukan Senarai Parameter Bernilai Jadual kepada Prosedur Tersimpan SQL

Senario mengisi jadual pangkalan data dengan berbilang item yang dikaitkan dengan rekod tertentu ialah cabaran biasa dalam manipulasi data. Walaupun pendekatan tradisional melibatkan melepasi nilai parameter secara berulang atau menggunakan manipulasi rentetan, penyelesaian yang lebih cekap tersedia.

Penyelesaian: Parameter Bernilai Jadual dalam SQL Server 2008

SQL Server 2008 memperkenalkan parameter bernilai jadual, yang membenarkan menghantar koleksi data berstruktur sebagai parameter kepada prosedur tersimpan. Ini menghapuskan keperluan untuk manipulasi rentetan kompleks atau pengendalian parameter berulang.

Dalam kod yang disediakan, prosedur tersimpan "AddItemsToReport" boleh dikemas kini untuk menerima parameter bernilai jadual:

ALTER PROCEDURE AddItemsToReport
(
  @ReportId int,
  @Items AS ItemList -- User-defined table type
)
AS
BEGIN
  INSERT INTO ReportItem (ReportId, ItemId)
  SELECT  @ReportId,
            Id
  FROM    @Items
END
Salin selepas log masuk

Jenis Jadual Tersuai untuk Senarai Item

Untuk mencipta jenis jadual tersuai untuk senarai item, laksanakan pernyataan SQL berikut:

CREATE TYPE ItemList AS TABLE
(
  Id int
)
Salin selepas log masuk

Melalui Parameter Bernilai Jadual daripada C#

Dalam kod C# anda, buat contoh jenis jadual tersuai:

var itemList = new ItemList();
itemList.Rows.Add(1);
itemList.Rows.Add(2);
itemList.Rows.Add(3);
Salin selepas log masuk

Kemudian, hantar parameter bernilai jadual kepada yang disimpan prosedur:

dbCommand.AddInParameter(dbCommand, "Items", DbType.Object, itemList);
Salin selepas log masuk

Faedah Parameter Bernilai Jadual

  • Peningkatan prestasi dengan mengelakkan berbilang perjalanan pergi dan balik ke pangkalan data.
  • Dipermudahkan kod dengan menghapuskan keperluan untuk manipulasi rentetan atau lelaran.
  • Keselamatan yang dipertingkatkan dengan menaip data input dengan kuat.

Atas ialah kandungan terperinci Bagaimanakah Parameter Bernilai Jadual Boleh Meningkatkan Prestasi Prosedur Tersimpan SQL dan Kesederhanaan Kod?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan