C# 如何在asp.net中处理大量数据

C# 如何在asp.net中处理大量数据,c#,mysql,asp.net,large-data,C#,Mysql,Asp.net,Large Data,我在asp.net/C#/Mysql中有一个web项目,其中的数据最多可以处理30000行数据。 这是一个报告工具,我必须在多个级别显示统计数据,如计数和总和 我想知道哪种方法更好 我可以将数据过滤到有限的列中,通过这些列我可以查询 现在,Is是一种将数据(所有行)加载到我的应用程序的好方法,每当用户查询时,我都可以过滤该数据,在代码中进行计算,并显示统计信息 或者,我可以让一个存储过程执行所有计算,每次用户查询时,我都可以调用该存储过程并获取统计信息 感谢您的帮助,数据库被优化,以进行这种数据

我在asp.net/C#/Mysql中有一个web项目,其中的数据最多可以处理30000行数据。 这是一个报告工具,我必须在多个级别显示统计数据,如计数和总和

我想知道哪种方法更好

我可以将数据过滤到有限的列中,通过这些列我可以查询

  • 现在,Is是一种将数据(所有行)加载到我的应用程序的好方法,每当用户查询时,我都可以过滤该数据,在代码中进行计算,并显示统计信息

  • 或者,我可以让一个存储过程执行所有计算,每次用户查询时,我都可以调用该存储过程并获取统计信息


  • 感谢您的帮助,数据库被优化,以进行这种数据操作。既然你也减少了网络负载,我会投票支持第二种选择


    另一种可能是考虑某种OLAP解决方案,事务性数据已经被合并成较小的数据块,而这些数据块又可以很容易地被查询。您正在谈论的是一个web应用程序,如果您想在加载时获取所有数据,那么您必须将其存储在某个位置,以便在回发期间保留它。如果您选择将其存储在会话状态,那么最终将消耗Web服务器内存,因为您有多个用户访问您的站点

    如果您将其存储在视图状态,那么您将得到一个非常大的客户端响应,这将使您的页面在客户端的加载速度非常慢,并将导致网络流量


    选项2是最好的,因为存储过程是预编译的,这意味着它们的性能要好得多。您还将减少网络流量

    关于代码/存储过程有几个问题:我不打算进行特殊查询。我的计划是在数据表中加载数据,而不是在会话中维护数据并从代码中查询数据。在这里,我不必每次都连接到数据库。这就是我想要确认的。谢谢。