0

我目前有一个进程可以从 Oracle 查询中读取多达 150,000 多条记录,并将它们导出到以条形分隔的 CSV。该过程每天运行,并且记录计数随着每次运行而增加。

我现在在生产中部署的代码大约需要 40 多分钟才能运行。大部分时间用于将 OracleDataReader 加载到 DataTable 中。从那里,循环遍历 DataTable,每个字段都添加到带有分隔符的 StringBuilder 中,然后使用 StreamWriter 将行写入文件。

它可以工作并达到其目的,但是运行时间太长了。

我已经玩了一点,并在整个地方搜索了最好的方法来做到这一点,但我找不到任何运行得更快的东西。我尝试过的最有希望的替代方法是遍历 DataReader 并将 DataTable 排除在外,但这需要大约 30% 的时间。

谁能指出我正确的方向?

4

0 回答 0