Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memasukkan Set Data Besar dengan Cekap daripada Senarai menggunakan SqlBulkCopy?

Bagaimana untuk Memasukkan Set Data Besar dengan Cekap daripada Senarai menggunakan SqlBulkCopy?

Patricia Arquette
Patricia Arquetteasal
2024-12-30 01:04:10482semak imbas

How to Efficiently Insert Large Datasets from a List using SqlBulkCopy?

Sisipan Data Pukal daripada Senarai<> menggunakan SqlBulkCopy

Soalan: Cara memasukkan sebilangan besar rekod dengan cekap daripada Senarai<> objek mudah menggunakan SqlBulkCopy?

Jawapan:

Untuk mengoptimumkan sisipan pukal, pertimbangkan untuk menggunakan perpustakaan FastMember. Pendekatan ini mengelakkan overhed DataTable dengan terus menstrim data daripada senarai objek. Begini caranya:

using(var bcp = new SqlBulkCopy(connection))
using(var reader = ObjectReader.Create(data, "Id", "Name", "Description"))
{
    bcp.DestinationTableName = "SomeTable";
    bcp.WriteToServer(reader);
}

ObjectReader

ObjectReader membolehkan anda bekerja dengan sumber data bukan generik dan menentukan nama ahli secara dinamik. Walau bagaimanapun, menyatakan nama ahli terlebih dahulu meningkatkan prestasi. Selain itu, anda boleh memanfaatkan ciri ColumnMappings SqlBulkCopy untuk menyesuaikan pemetaan lajur.

Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Set Data Besar dengan Cekap daripada Senarai menggunakan SqlBulkCopy?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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