Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Menyalin Pukal Jadual Data ke MySQL dengan Cekap?

Bagaimana untuk Menyalin Pukal Jadual Data ke MySQL dengan Cekap?

Patricia Arquette
Patricia Arquetteasal
2024-10-24 06:34:30549semak imbas

How to Efficiently Bulk Copy DataTables to MySQL?

Menyalin Pukal Jadual Data ke MySQL dengan Prestasi Optimum

Memindahkan projek daripada Microsoft SQL Server ke MySQL boleh menghadapi cabaran dalam penyalinan data pukal. Ini kerana API SqlBulkCopy biasa yang terdapat dalam sistem Microsoft tidak tersedia secara langsung untuk MySQL.

Alternatif Salin Pukal

Satu alternatif ialah menggunakan kelas MySqlBulkLoader, tetapi ini melibatkan pengeksportan data ke fail CSV dan kemudian mengimportnya, yang boleh mengakibatkan kesesakan prestasi.

Kaedah Dioptimumkan dengan MySqlDataAdapter

Walau bagaimanapun, pendekatan yang lebih cekap boleh dimanfaatkan dengan menggunakan kaedah MySqlDataAdapter's Update() dalam Transaksi. Kaedah ini membenarkan sisipan kelompok dengan saiz kelompok kemas kini boleh dikonfigurasikan, mengurangkan masa pelaksanaan dengan ketara.

Contoh Kod

Berikut ialah contoh yang dioptimumkan menggunakan pendekatan MySqlDataAdapter:

<code class="csharp">using (MySqlTransaction tran = conn.BeginTransaction(System.Data.IsolationLevel.Serializable))
{
    using (MySqlCommand cmd = new MySqlCommand())
    {
        cmd.Connection = conn;
        cmd.Transaction = tran;
        cmd.CommandText = "SELECT * FROM testtable";
        using (MySqlDataAdapter da = new MySqlDataAdapter(cmd))
        {
            da.UpdateBatchSize = 1000;
            using (MySqlCommandBuilder cb = new MySqlCommandBuilder(da))
            {
                da.Update(rawData);
                tran.Commit();
            }
        }
    }
}</code>

Perbandingan dengan MySqlBulkLoader

Jika dibandingkan dengan menggunakan MySqlBulkLoader, pendekatan MySqlDataAdapter mengatasi prestasi dari segi kelajuan pelaksanaan. Ujian dengan sisipan pukal sebanyak 100,000 baris menunjukkan masa pelaksanaan selama 30 saat menggunakan MySqlDataAdapter, manakala MySqlBulkLoader menyelesaikan proses dalam 5-6 saat.

Kesimpulan

>

Atas ialah kandungan terperinci Bagaimana untuk Menyalin Pukal Jadual Data ke MySQL dengan Cekap?. 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