0

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

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

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

4

2 回答 2

3

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

于 2012-05-08T10:13:23.743 回答
1

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

真正要考虑的是 66mb 文件中有什么?这是一回事吗?一万件事情的清单?如果您可以一次处理单个“项目”(例如,一行),您可以一次阅读一行。如果一行是 66MB,您可以一次从文件中读取一定数量的字节。

当您想将数据插入到关系数据库中时;您打算如何使用它将决定如何插入它。如果它真的只是一个 66mb 的数据块,分解是没有意义的;大多数数据库都有一种可以毫无问题地容纳 66mb 的类型(IE BLOB)。

于 2012-05-08T11:22:20.480 回答