小编sun*_*nny的帖子

C# 使用 DataReader 和 CSV writer 批量/分块导出 SQL Server 大表

我开发了一个 CSV 批处理编写器。但与 BCP 相比,这个过程似乎相当缓慢。我唯一的要求是将没有标识或主键列的大表导出到多个小型 CSV 文件中,并使用相应的批处理 ID 命名它们。

BCP 的问题是它只会写入单个大文件。

我当前的流程所做的是:读取数据并使用 CSV 编写器写入内存流我不断检查内存流是否大于特定的批处理大小,然后我将异步复制内存流写入文本文件。

如果没有内存不足的异常,我可以导出批量大小为 250MB 的文件

但这个过程比 BCP 导出要多花 5 倍的时间。

有没有比我正在做的更好的方法来实现批量导出到 CSV。

请指教。

c# sql-server bcp sqldatareader csvhelper

3
推荐指数
1
解决办法
2385
查看次数

标签 统计

bcp ×1

c# ×1

csvhelper ×1

sql-server ×1

sqldatareader ×1