当前的数据导出程序并不期望大小,它使用实体框架并将IQueryable转换为用于导出的列表。Ram 16 GB的运行是不够的。
我读到有两种避免这种情况的方法,比如DataReader迭代和BCP。然而,我不确定大约有2分。
有人能告诉我。
发布于 2016-10-02 06:27:49
方法1:
如果您想导出的结果中没有任何大的BLOB数据,我肯定会使用DataReader (注释中的@TrevorAsh点)。您可以使用它来批量复制数据,这将解决您的内存问题。
因此,一旦开始阅读,您就可以直接或批量地存储所选择的结果。如果速度不够快,您可以将结果分成多个集合,并在多个线程中读取它们,但这取决于您的场景.
办法2:
另一种方法是将隔断源数据放入Server上的多个文件组/文件中,然后备份&只复制包含数据的mdf文件备份
https://stackoverflow.com/questions/38193395
复制