缓慢提取数据集

时间:2015-09-18 09:37:17

标签: c# asp.net

我使用以下语句来获取数据集中的查询结果

 DataSet ds = new DataSet();
        ds = OdbcHelper.ExecuteDataset(Connection.ODBCConnection(), CommandType.StoredProcedure, "{ CALL Search_EQ_SP(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}", p);

我的申请表。

我有两个存储过程Search_EQ_SP和Search_NF_SP。两者都返回近90000条记录。在SQL Server中签入时,两者都执行不到25秒。但是当在C#中获取数据集中的数据时,Search_NF_SP需要30-35秒,这是相当可观的,但Search_EQ_SP需要3分钟以上。

我仍然无法弄清楚Search_EQ_SP是否在SQL Server中执行秒,然后为什么在数据集中加载数据需要这么长时间。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

当您使用ExecuteDataSet时,这是一个非常常见的问题。通常可能由于网络带宽而发生此问题。使用Microsoft Network Monitor更好地监控它一段时间。首先使用此实用程序分析网络,您可以找到一些变体。欢迎您的评论。

实现相同目标的另一种方法是使用DataReader。对于大数据,它可能是比DataSet更好的选择。阅读这篇文章DataSet vs. DataReader 希望这可能会有所帮助

相关问题