C# 66MB制表符分隔文件

C# 66MB制表符分隔文件,c#,C#,我有一个以制表符分隔的大文件66MB,我想知道提取数据的最佳方法是什么: 我是否使用文本解析器?它会导致内存问题吗 我是否将其导入SQL Server 我要把它分成小块吗 高效处理如此大的文件的最佳方法是什么 由于您无法确保文件不会随时间增长,因此最方便的方法是逐行读取文件并处理内容。由于您无法确保文件不会随时间增长,最方便的方法是逐行读取文件并处理内容。对于任何现代系统来说,66MB的内存应该是相对较小的。使用File.ReadAllLines()或处理加载到内存中的整个66MB文件都不会

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

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

高效处理如此大的文件的最佳方法是什么

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

由于您无法确保文件不会随时间增长,最方便的方法是逐行读取文件并处理内容。

对于任何现代系统来说,66MB的内存应该是相对较小的。使用File.ReadAllLines()或处理加载到内存中的整个66MB文件都不会有问题

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


当您想要将数据插入关系数据库时;您打算如何使用它将决定如何插入它。如果它真的只是一块66mb的数据,那么分解它是没有意义的;大多数数据库都有一种可以容纳66mb的类型(即BLOB)。对于任何现代系统来说,66mb应该是相对不重要的。使用File.ReadAllLines()或处理加载到内存中的整个66MB文件都不会有问题

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


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

至少可以用这个吸引人的问题标题来阅读您的问题。考虑到当前的系统66mb没有那么大,IMO 66mb没有那么大。任何现代系统都能解决这一问题。您试图对数据做什么?以前使用Access db的产品数据行,现在是以制表符分隔的文件。需要读取数据并填充一些字段,我将在生产环境中运行它。当然,至少可以通过这个吸引人的问题标题来阅读您的问题。考虑到当前系统66MB没有那么大,IMO 66MB没有那么多。任何现代系统都能解决这一问题。您试图对数据做什么?以前使用Access db的产品数据行,现在是以制表符分隔的文件。需要读取数据并填充一些字段,我将在生产环境中运行它。