c# - 分析大量数据的有效方法?

标签 c# sql data-structures list data-analysis

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

我想知道我是否应该改用关系数据库 (SQL),因为我需要分析每一行文本中的数据,尝试将其与我目前也存储在通用列表 (List) 中的定义术语相关联.

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

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

最佳答案

去数据库也不是绝对必要的。这取决于数据的实际大小和您需要执行的过程。如果您使用自定义类将数据加载到列表中,为什么不使用 Linq 进行查询和过滤?像这样的东西:

var query = from foo in List<Foo>
            where foo.Prop = criteriaVar
            select foo;

真正的问题是数据是否太大以至于无法轻松地加载到内存中。如果是这样的话,那么是的,数据库会简单得多。

关于c# - 分析大量数据的有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2349653/

相关文章:

java - 查找 Map 中的最高 n 个值

c++ - 循环问题中的 'lower bound'是什么意思?

c# - 如何在 itfoxtec 中支持工件绑定(bind)?

c# - 优化从表达式树生成的 Func.Invoke()

c# - Visual Studio 项目平台相关引用

sql - 构建不包含基于层次结构的数据的 SQL 查询

data-structures - 使用数组实现链表 - 优点和缺点

c# - MVVM 中的双向数据绑定(bind)问题

sql - 如何按日期分组并按两个时间戳的日期持续时间求和?

mysql - 选择每个组中的最后一条记录