我正在尋找什麼是基於對象集合將大量記錄插入到數據庫(SQL2000以上)的最佳方式的建議。從哈希表中插入記錄到數據庫中
目前我的代碼看起來類似於下面的代碼片段,每個記錄都使用一個sql簡單的INSERT命令插入(每次調用函數時打開和關閉數據庫連接!) - 我確信這必須減慢速度?)。
該例程需要能夠處理日常插入多達100,000條記錄,我想知道是否有更快的方法(我確定必須有???)。我見過一些文章提到使用基於XML的數據和批量複製例程 - 這是我應該考慮的,還是任何人都可以提供任何我可以構建的簡單例子?
foreach (DictionaryEntry de in objectList)
{
eRecord record = (eRecord)de.Value;
if (!record.Deleted)
{
createDBRecord(record.Id,
record.Index,
record.Name,
record.Value);
}
}
感謝您的任何建議,
保羅。
感謝您的回答是的,我正在使用.NET 2.0,所以我會考慮你所提到的類,因爲我想直接使數據庫的操作如果可能的話。 你有任何SqlBulkCopy類的經驗嗎? 非常感謝, 保羅 – Paul 2010-01-08 11:03:52
@保羅:當然可以。 SqlBulkCopy的執行速度非常快。我已經幫助團隊達到了3個數量級。 – 2010-01-08 11:54:24
感謝米奇 - 我要開始閱讀和學習! 乾杯 – Paul 2010-01-08 12:39:07