C# · 12月 28, 2021

c# – 高效的分析大量数据的方法?

我需要分析数以万计的数据.数据是从文本文件导入的.每行数据都有八个变量.目前,我使用一个类来定义数据结构.当我阅读文本文件时,我将每个行对象存储在通用列表List中.

我想知道如果我应该切换到使用关系数据库(sql),因为我将需要分析每行文本中的数据,尝试将其与我现在也存储在通用列表(List)中的定义术语相关联.

目标是使用定义翻译大量的数据.我想要定义的数据是可过滤的,可搜索的等等.使用数据库更有意义,我想到的更多,但是我想在更改有经验的开发人员之前,再次确认(我使用的是结构体和首先是数组列表).

我可以想到的唯一缺点是数据在用户翻译和查看后不需要保留.不需要永久存储数据,因此使用数据库可能会有点过分.

解决方法 数据库并不是绝对必要的.这取决于数据的实际大小和您需要做的过程.如果使用自定义类将数据加载到列表中,为什么不使用 Linq进行查询和过滤?就像是: var query = from foo in List<Foo> where foo.Prop = criteriaVar select foo;

真正的问题是数据是否如此之大,以至于无法容易地加载到内存中.如果是这样,那么是的,一个数据库会简单得多.