Memasukkan Set Data Besar dengan SqlBulkCopy dan Senarai
Soalan: Bagaimana untuk memasukkan set data besar dengan cekap ke dalam jadual pangkalan data menggunakan SqlBulkCopy apabila sumber data adalah senarai yang mudah objects?
Respons:
Pertimbangkan untuk memanfaatkan FastMember untuk memudahkan proses tanpa bergantung pada struktur data perantaraan seperti DataTable. Ini boleh meningkatkan prestasi dengan ketara. Berikut ialah contoh:
using(var bcp = new SqlBulkCopy(connection)) using(var reader = ObjectReader.Create(data, "Id", "Name", "Description")) { bcp.DestinationTableName = "SomeTable"; bcp.WriteToServer(reader); }
FastMember's ObjectReader boleh mengendalikan sumber data bukan generik dan menyokong penetapan nama ahli secara dinamik tanpa mentakrifkannya secara eksplisit terlebih dahulu. Walau bagaimanapun, menggunakan ColumnMappings SqlBulkCopy boleh memberi manfaat jika anda tidak menyatakan nama ahli dalam ObjectReader.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memasukkan Set Data Besar dengan Cekap ke dalam Pelayan SQL Menggunakan SqlBulkCopy dan Senarai Objek?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!