c#比数据表和数组更好的选项
我有一个应用程序来执行分组、筛选、删除重复项和查找数据。我正在处理的数据将导出为excel或csv文件 问题是,它太慢了。当我处理小文件(如10k-20k记录)时,执行该操作几乎需要一两分钟。但是当我处理大文件时,我尝试过处理包含100k到700k条记录的文件,这需要很多时间(一个多小时) 我尝试过的内容:我尝试过使用数据表和数组。我通常更喜欢数组而不是datatables,因为我发现数组比datatables更快,但在这种情况下仍然有几分钟的性能差异 我想要什么:有人能给我建议一个更好的方法吗?我真的不想使用OLEDB或任何其他额外的库来实现这一点c#比数据表和数组更好的选项,c#,arrays,datatable,excel-interop,C#,Arrays,Datatable,Excel Interop,我有一个应用程序来执行分组、筛选、删除重复项和查找数据。我正在处理的数据将导出为excel或csv文件 问题是,它太慢了。当我处理小文件(如10k-20k记录)时,执行该操作几乎需要一两分钟。但是当我处理大文件时,我尝试过处理包含100k到700k条记录的文件,这需要很多时间(一个多小时) 我尝试过的内容:我尝试过使用数据表和数组。我通常更喜欢数组而不是datatables,因为我发现数组比datatables更快,但在这种情况下仍然有几分钟的性能差异 我想要什么:有人能给我建议一个更好的方法吗
如果我错过了什么,请一定告诉我。如果需要,我可以提供代码
提前感谢。您是先获取内存中的所有实体,然后进行分组/筛选,还是在数据库查询中运行?代码在这里也会有很大的帮助,任何异步方法都可以,我们可以一次处理多个记录吗?这里有太多潜在的问题(例如网络延迟、IO操作、查询优化等等),这使得这个问题成为StackOverflow的广泛问题。“如果需要,我可以提供代码”-是的,请,它总是需要的,这就是我想要的。当您的数据库能够更好地处理这些问题时,为什么还要自己进行排序和筛选呢?