使用臨時CSV 檔案將資料表批次複製到MySQL
從Microsoft SQL Server 遷移到MySQL 時,您可能會遇到批次複製的挑戰使用直接DataTable 寫入進行複製。雖然 SqlBulkCopy 類別在 MySQL 中本身不可用,但值得考慮使用臨時 CSV 檔案作為中介以獲得最佳效能。
要避免的一個假設是透過 CSV 檔案批次載入本質上會導致效能不佳表現。經驗測試表明,與透過 MySqlDataAdapter 直接更新相比,使用 MySqlBulkLoader 類別可以顯著減少插入時間。
要實現此目的,請按照以下步驟操作:
初始化一個新的MySqlBulkLoader 物件並設定其屬性:
<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>
以上是如何使用臨時 CSV 檔案優化將資料表批次複製到 MySQL 中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!