我有一個非常大的(5000萬條記錄)數據集,我正在從舊的Interbase數據庫導入新的SQL Server數據庫。將SQLBulkCopy的大數據集編輯到SQL Server數據庫中
我目前的做法是:
從Interbase的數據庫獲取CSV文件(已完成,使用了一項名爲「FBExport」我發現某處在線)
舊數據庫中沒有按的模式(不在我的控制之下),所以現在我需要批量編輯某些字段,以便他們能夠在新的數據庫中工作。這是我需要幫助的區域
編輯到正確的架構後,我正在使用
SqlBulkCopy
將新編輯的數據集複製到SQL Server數據庫中。
第3部分作品非常迅速,診斷顯示,在一次導入10,000條記錄的幾乎瞬間完成。
我現在的(慢)方法第2部分是我只是逐行讀取CSV文件一行,並查找相關的信息(例如,CSV文件有一個ID,它是XXX ########,而新數據庫對於每個XXX和########。ex2都有單獨的列,csv文件通過字符串引用模型,但新數據庫通過模型表中的ID引用),然後插入將新行插入我的本地表中,然後在我的本地表變大後執行SqlBulkCopy
。
我的問題是:對於這個數據編輯步驟,什麼是「最佳」方法(性能明智)?我認爲這很可能是一種linq類型的方法,它會更好地執行,如果它會這樣做,我將如何去做?
這有點寬泛,因爲它肯定會邀請對正確技術的猜測,並且不會顯示任何代碼或錯誤。但是,我認爲你走在正確的道路上。另一個選擇是創建一個與csv具有相同結構的臨時數據庫,然後批量複製這些文件,然後通過sql進行操作。儘管取決於你的模式,但它也有其缺點。 – paqogomez