运行大型SQL语句并填充gridview

use*_*144 5 c# sql asp.net gridview

我有一个相当大的SQL语句,它有许多内连接和交叉应用语句来做一些计算,根据前面的查询为每个条目创建新列.

我想知道在代码中从C#运行此查询以填充gridview的最有效/最佳方法是什么?

打破SQL并在C#中编写一些计算?

创建存储过程?

只是将sql作为字符串传递并创建数据集然后将数据集绑定到gridview似乎需要太长时间.

Pau*_*ter 3

您的核心问题是数据库查询必须运行得更快。一旦找到解决方案,您就可以相应地调整您的代码。

我首先要考虑的是优化数据库索引以提高查询性能。如果可以的话,请使用SQL Profiler索引调优向导(我认为这些工具在 SQL Server Express 版本中不可用)。请注意,新索引也可能导致插入性能下降,因此如果您的数据库需要支持高事务量,则应谨慎使用此方法。

如果您可以通过将查询分解为多个部分并使用过程代码聚合结果来找到提高查询性能的方法,那么迁移到 ObjectDataSource 是有意义。这将使您在获取数据的方式上获得最大的灵活性。

作为起点,我将在 SQL 编辑器中对您的查询和/或部分查询进行原型设计,以便您可以在做出有关如何更改 ASP.NET 代码的任何决定之前只专注于查询优化。

如果不查看架构的具体情况和正在使用的查询,我无法进一步评论如何优化数据提取。但这应该会让你朝着正确的方向前进。