Salin Pukal Jadual Data ke dalam MySQL Menggunakan Fail CSV Sementara
Apabila berhijrah ke MySQL daripada Microsoft SQL Server, anda mungkin menghadapi cabaran secara pukal menyalin menggunakan tulis Jadual Data langsung. Walaupun kelas SqlBulkCopy tidak tersedia secara asli dalam MySQL, ia patut dipertimbangkan untuk menggunakan fail CSV sementara sebagai perantara untuk prestasi optimum.
Satu andaian yang perlu dielakkan ialah pemuatan pukal melalui fail CSV sememangnya akan membawa kepada kelemahan. prestasi. Ujian empirikal telah menunjukkan bahawa menggunakan kelas MySqlBulkLoader boleh mengurangkan masa pemasukan dengan ketara berbanding kemas kini langsung melalui MySqlDataAdapter.
Untuk mencapainya, ikuti langkah berikut:
Mulakan objek MySqlBulkLoader baharu dan tetapkan sifatnya:
Kod contoh:
<code class="csharp">string tempCsvFileSpec = @"C:\Users\Gord\Desktop\dump.csv"; using (StreamWriter writer = new StreamWriter(tempCsvFileSpec)) { Rfc4180Writer.WriteDataTable(rawData, writer, false); } var msbl = new MySqlBulkLoader(conn); msbl.TableName = "testtable"; msbl.FileName = tempCsvFileSpec; msbl.FieldTerminator = ","; msbl.FieldQuotationCharacter = '"'; msbl.Load(); System.IO.File.Delete(tempCsvFileSpec);</code>
Dengan memanfaatkan kelas MySQLBulkLoader dan fail CSV sementara, anda boleh mencapai penyalinan pukal yang cekap bagi DataTables ke dalam MySQL dengan prestasi yang lebih baik berbanding dengan kemas kini langsung.
Atas ialah kandungan terperinci Bagaimana untuk Mengoptimumkan Menyalin Pukal Jadual Data ke dalam MySQL Menggunakan Fail CSV Sementara?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!