使用CSV / XLS导入大量数据

时间:2015-02-20 08:08:29

标签: ruby-on-rails ruby-on-rails-3 csv

我有一个导入功能,我上传CSV / XLS文件以导入数据。我有一个30000记录(CSV)文件。(大小:3.4 MB)。

此文件需要40到50分钟。导入数据。

根据每条记录,我将数据存储在3个表中。

我希望缩短导入数据的时间。 我该怎么办请帮助我

提前致谢

1 个答案:

答案 0 :(得分:0)

我将假设您在数据库中使用表。导入3.4 MB不应该花那么长时间导入。在我最近的一个项目中,我不得不导入和解析100MB +的字典文件,它只用了一分钟(基于python)。

时间真的取决于您编写的代码。虽然有一些事情需要寻找,这有助于减少进口时间。

第一种是不要在循环中打印任何值。它通常会占用任何语言的大量时间。

也只打开数据库一次,当你处于相同的功能或问题空间时,无需关闭它。

在可用时使用executemany功能。当您准备好提交所有更改时,请立即将它们全部提交。

看看你如何构建导入功能也很高兴,然后我可以提供更多细节。

编辑: 见Improve INSERT-per-second performance of SQLite?