C# 哪个是最快的数据收集?

C# 哪个是最快的数据收集?,c#,ado.net,C#,Ado.net,在web应用程序中,我必须从SQL视图中选择约100万行。 然后,这些百万行用于显示具有向下钻取功能的条形图 我一次完成所有数据,让用户深入查看内存中的数据收集 我正在使用ADO.Net(SqlCommand)从数据库中获取数据 如何在提供最快数据访问的数据集合中存储数据?DataTable、SqlReader、数组或列表更好吗?请建议为什么需要让用户向下钻取~1M条记录 通常,如果用户需要一次查看所有数据集,您会检索未过滤的数据集,并在UI中向下搜索。然而,有这么多的记录,它们不可能包含整个集

在web应用程序中,我必须从SQL视图中选择约100万行。 然后,这些百万行用于显示具有向下钻取功能的条形图

我一次完成所有数据,让用户深入查看内存中的数据收集

我正在使用ADO.Net(SqlCommand)从数据库中获取数据


如何在提供最快数据访问的数据集合中存储数据?DataTable、SqlReader、数组或列表更好吗?请建议

为什么需要让用户向下钻取~1M条记录

通常,如果用户需要一次查看所有数据集,您会检索未过滤的数据集,并在UI中向下搜索。然而,有这么多的记录,它们不可能包含整个集合,除非您以图形方式显示它们,如GIS或其他图形数据点

您最好问问自己,是否可以首先向他们显示一个摘要/聚合视图(可以通过存储过程获得),然后让他们通过使用所选的任何过滤器参数重新查询数据库来深入了解该视图


SQL server非常擅长处理这种类型的操作。让您的投资为您服务。

听起来是您自己基准测试的完美人选。也就是说,设计一个测试,并在您考虑的不同类型的集合上运行它,以获得一些指标。速度取决于您访问数据的方式和其他特定于算法的详细信息。如果您必须从内存中访问100万行,那么要使用的最快数据结构将取决于代码中的访问模式,即您需要如何访问数据?如果没有这些信息,很难回答这个问题。谢谢,我将使用这个解决方案。唯一的问题是我正在打开和关闭数据库连接,然后每次调用一个存储过程。这会减慢应用程序的速度,因为这是一项相当昂贵的任务。有什么建议吗?