Bagaimana untuk Menyalin Pukal Jadual Data ke MySQL dengan Cekap?

Patricia Arquette
Lepaskan: 2024-10-24 06:34:30
asal
548 orang telah melayarinya

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

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!

sumber:php
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!