首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何加快CSV文件处理速度?(500万条或更多记录)

如何加快CSV文件处理速度?(500万条或更多记录)
EN

Stack Overflow用户
提问于 2009-03-31 20:36:28
回答 12查看 2.4K关注 0票数 0

我编写了一个VB.net控制台程序来处理文本文件中的CSV记录。我正在使用FileHelpers library

以及MSFT企业程序库4.一次读取一条记录并插入到数据库中。

处理文本文件上的5+百万条记录大约需要3-4个小时。

有没有什么办法可以加速这个过程?以前是否有人处理过如此大量的记录?如果有新数据需要更新,您将如何更新这些记录?

编辑:有人能推荐一个分析器吗?更喜欢开源或免费。

EN

回答 12

Stack Overflow用户

发布于 2009-03-31 20:40:02

一次读取一条记录并插入到数据库中

批量读取,批量插入。

票数 3
EN

Stack Overflow用户

发布于 2009-03-31 20:39:37

使用分析器-找出时间的去向。

如果没有真正的分析器,可以尝试以下方法:

  • Time仅逐行读取文件而不对其执行任何操作所需的时间
  • 取一个样本行,并计算仅解析它并执行所需的任何处理所需的时间,5+百万次
  • 生成随机数据并将其插入数据库的时间,以及

我的猜测是数据库将成为瓶颈。你应该考虑进行批量插入-如果你一次只插入一条记录,这可能比批量插入慢得多。

票数 2
EN

Stack Overflow用户

发布于 2009-03-31 20:39:53

我在过去做过很多这样的应用程序,你可以用很多方法来优化。

  1. 确保您正在编写的代码正确地管理内存,这里的一个小错误可能会使进程变得缓慢。
  2. 考虑将数据库调用编写为异步的,因为它可能是瓶颈,所以稍微排队可能是可以的。
  3. 考虑删除索引,执行导入,然后重新执行import.
  4. Consider使用SSIS执行导入,它已经进行了优化,并且开箱即用。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/702944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档