簡體   English   中英

將大文本文件導入sql數據庫

[英]Importing large text file into sql database

我讀取了txt文件並將該文件中的行保存到本地數據庫中。問題是該程序讀取了70萬行,讀取整個文件需要很長時間。 我使用linq到sql,首先讀取行,然后將其拆分為Table對象,然后提交到DB。

例如,行具有格式

2014-03-01 00:08:02.380 00000000000001100111

該行分為DateTime和20列(每列代表1個通道(CH1-CH20))

有沒有更好(更快)的方法?

使用linq to sql提交那么多項目會很慢。 對於此任務,批量插入或批量更新將是更可取的,而您不能使用linq to sql。 另請參閱這篇文章。 使用linq-to-sql批量插入

對於此任務,我建議使用除linq to sql以外的方法。

您可以使用FileHelpers http://filehelpers.sourceforge.net/直接將其輸入SqlBulkCopy。 http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlbulkcopy.aspx到目前為止,這是最簡單,最快的方法。

您仍然可以使用Linq-2-sql進行讀取/非批量寫入,但是對於bulkinsert來說太慢了。

暫無
暫無

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

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