Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Memasukkan 2 Juta Baris dengan Cekap ke dalam Pelayan SQL?

Bagaimanakah Saya Boleh Memasukkan 2 Juta Baris dengan Cekap ke dalam Pelayan SQL?

Barbara Streisand
Barbara Streisandasal
2025-01-21 14:46:11247semak imbas

How Can I Efficiently Insert 2 Million Rows into SQL Server?

Selitkan kumpulan 2 juta baris data ke dalam pangkalan data SQL Server dengan cekap

Apabila memasukkan sejumlah besar data ke dalam pangkalan data SQL Server, mengoptimumkan proses pemasukan adalah penting. Artikel ini secara menyeluruh akan memperkenalkan cara terbaik untuk memasukkan 2 juta baris data dengan cekap.

Gunakan SqlBulkCopy

Kelas SqlBulkCopy sesuai untuk sisipan pukal. Ia dengan pantas memindahkan data daripada .NET DataTable atau IEnumerable terus ke dalam jadual SQL Server. Dengan memanfaatkan operasi berorientasikan data, ia memintas sisipan baris demi baris tradisional dan mengurangkan masa pemprosesan dengan ketara.

Langkah-langkah pelaksanaan

Untuk menggunakan SqlBulkCopy dengan berkesan, ikuti langkah berikut:

  1. Mewujudkan sambungan ke SQL Server.
  2. Buat contoh SqlBulkCopy, nyatakan nama jadual sasaran dan sebarang pilihan yang diingini (cth. pencetus).
  3. Buka sambungan.
  4. Gunakan kaedah WriteToServer() untuk memindahkan data.
  5. Tutup sambungan.

Berikut ialah contoh C#:

<code class="language-csharp">using (SqlConnection connection = new SqlConnection(connString))
{
    SqlBulkCopy bulkCopy = new SqlBulkCopy(connection, SqlBulkCopyOptions.TableLock | SqlBulkCopyOptions.FireTriggers, null);
    bulkCopy.DestinationTableName = tableName;
    connection.Open();
    bulkCopy.WriteToServer(dataTable);
    connection.Close();
}</code>

Kaedah lain

Jika set data disimpan dalam fail teks, pertimbangkan untuk membacanya menjadi Set Data dan menukarnya kepada XML menggunakan fungsi OpenXML. XML ini kemudiannya boleh dihantar ke pangkalan data untuk sisipan pukal. Walau bagaimanapun, pendekatan ini boleh memerlukan sumber memori yang ketara, terutamanya untuk set data yang besar.

Pertimbangan ingatan

Sila ambil perhatian bahawa memuatkan dan memasukkan 2 juta baris data mungkin menekankan memori sistem anda. Jika perlu, pertimbangkan untuk menggunakan pelayan dengan kapasiti memori yang mencukupi, atau teroka penyelesaian lain seperti penstriman data atau sisipan tambahan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memasukkan 2 Juta Baris dengan Cekap ke dalam Pelayan SQL?. 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