我有一个消费者枚举 aBlockingCollection<T> where T : IComparable
然后将一行写入每个项目的文本文件。最终结果是最大约 7Gb-10Gb 的文本文件。但是,它们不按顺序排列。
我无法在内存中对列表进行排序,因为它最终可能会非常大。我能想到的解决方案的唯一方法是写入临时文本文件,以便它们到达,然后在最后对它们进行改组,但我无法想象这是非常有效的。
关于如何做到这一点的任何想法?
如果您正在寻找什么,我相信索引排序。这个想法是为每个大项目分配一个索引,然后只是对索引进行排序,最后只是循环遍历有序索引数组并写出文件。
维基百科:内存使用模式和索引排序
我最终使用 SSIS 将结果加载到 SQL 中的临时表中,并以这种方式对它们进行排序。