首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检索结果,并使用延迟加载和gzip将文件放入.csv格式

检索结果,并使用延迟加载和gzip将文件放入.csv格式
EN

Stack Overflow用户
提问于 2015-12-20 09:04:13
回答 1查看 109关注 0票数 0

我正在尝试从sql server下载表,并将每个下载的表写成一个csv文件,然后对其进行gzip压缩。

我现在的问题是,这个表太大了(上面有一百万行,我正在使用python pandas dataframe来做这件事),以至于出现了内存错误。

有没有办法在C#中懒惰地做这件事,从而最小化内存使用,然后我就可以为这个任务并行运行2-3个进程?

EN

回答 1

Stack Overflow用户

发布于 2015-12-20 16:03:40

是的,是的。

  1. ,你必须在一个循环中检索数据,以确保你不会在一个内存中保存所有的百万条记录。使用StreamWriter将行写入文件,而不是将它们保存在内存中:OutOfMemory exception thrown while writing large text file

  1. 创建您的软件,以便写入方法以表名作为参数。然后,如果您愿意,您可以并行运行所有的表。对数据库表使用单独的文件,以确保更快的性能。如果希望将数据库写入作为单独的可处理线程执行,请使用线程start:https://msdn.microsoft.com/en-us/library/6x4c42hc(v=vs.110).aspx

或者将该写入设置为异步,并使用await关键字调用它。https://msdn.microsoft.com/en-us/library/hh193364(v=vs.110).aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34377030

复制
相关文章

相似问题

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