66MB制表符分隔文件

时间:2012-05-08 10:08:20

标签: c#

我有一个大的制表符分隔文件,66MB,并且想知道提取数据的最佳方法是什么:

  • 我是否使用文本解析器?它会导致任何内存问题吗?
  • 我是否将其导入SQL Server
  • 我把它分成小块吗?

以有效的方式处理如此大的文件的最佳方法是什么?

2 个答案:

答案 0 :(得分:3)

由于您无法确定文件的大小会随着时间的推移而增长,因此最方便的方法是逐行读取文件并处理内容。

答案 1 :(得分:1)

对于任何现代系统来说,66MB应该是相对微不足道的。使用File.ReadAllLines()或使用加载到内存中的整个66MB文件,您将毫无困难。

真正需要考虑的是66mb文件中的内容?这是一回事吗? 10,000件事的清单?如果您一次可以使用单个“项目”(例如,一行),则可以一次读取一行。如果一行是66MB,则可以一次从文件中读取一定数量的字节。

如果要将数据插入关系数据库;你打算如何使用它将决定如何插入它。如果它只是一个66mb的数据块,那么分手是没有意义的;大多数数据库都有一个可以毫无困难地保存66mb的类型(IE BLOB)。