我已經創建了windows應用程序(C#.Net),用於將數據從一個數據庫遷移到另一個數據庫。 在這裏,我從數據庫ABC中選擇客戶表的所有行,並將所有行插入到數據庫XYZ的Dealers表中。SQL數據庫遷移 - 性能問題(將數據從一個數據庫複製到另一個數據庫)
我的問題是,當我從表中選擇1000行時,需要2分35秒來插入這1000條記錄。 但是當我從表中選擇5000行時,需要15分鐘(而不是10分鐘)來插入這5000條記錄
有什麼辦法來優化性能,以便我可以非常快速地插入所有記錄/數據。 (注意:這裏對於foreach循環中的每條記錄,我創建了sqlparameter並插入了sql語句)
另外我使用了進度條,但是當我從Windows應用程序中失去焦點時,它變得無響應(不響應作爲窗口標題),我看不到進度條的狀態/進度(但插入數據的過程在後臺工作,但不在UI中)。
如何解決這兩個問題?
不要行插入行,使用某種[批量插入]的(http://msdn.microsoft.com/en-us/library/ms188365.aspx)。 –
@MichałPowaga我不能使用BULK插入,因爲我必須使用代碼檢查許多條件。 – ravidev