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
Lepaskan: 2024-12-30 01:04:10
asal
464 orang telah melayarinya

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);
}
Salin selepas log masuk

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!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan