Если вам действительно нужна более высокая производительность, вы можете читать данные в виде фрагментов по 10 Кб, как вы делаете это сегодня, передавая начальные / конечные значения в базу данных и записывая их одновременно в отдельные файлы, используя несколько потоков.По завершении вы объединяете / объединяете / добавляете файлы.Запись в один файл может быть настолько улучшена только потому, что запись данных должна быть последовательной.
что-то вроде
using (var output = File.Create("output"))
{
foreach (var file in new[] { "file1", "file2" })
{
using (var input = File.OpenRead(file))
{
input.CopyTo(output);
}
}
}
Не уверен, действительно ли это значительно повышает производительность,но стоит попробовать.