簡體   English   中英

將大量記錄插入數據庫

[英]Inserting massive number of records into database

我需要在數據上大量運行一些算法並將每個結果存儲在數據庫中。

算法運行的數量是80,000-90,000,每個周期大約需要2秒(只是算法)。 所以這非常耗時。

我的數據庫SQL server 2008.我想使用ado.net實體框架(它對這項任務有好處嗎?)
現在輸出數據(需要存儲在DB中)是純粹的原始(不是很大),還有一些維護列,如日期和時間。

最佳做法是什么?
每個算法完成后,逐行插入? 將結果存儲在內存中,工作完成后插入數據?

首先針對所有記錄運行算法后,你能不能嘗試BulkInsert? 將數據導入數據庫非常有效。

http://msdn.microsoft.com/en-us/library/ms188365.aspx

您可以使用SqlBulkCopy類並使用DataTable作為源數據。 與多個INSERT相比,它真的很快。

如果你沒有使用sqlbulkcopy,你可以做下一步:

  1. 將數據存儲到本地變量
  2. 收集所有數據后,開始SQL事務並將每行插入db。 執行完所有插入查詢后,提交。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM