如何调试DataSet性能

时间:2011-08-09 22:35:11

标签: asp.net sql database vb.net sql-server-2008

我在Visual Studio 2010 Web App项目中有一个数据集,它使用复杂的SQL语句访问数据库。如果我直接在SQL Management Studio中运行语句,它会在不到一秒的时间内加载。但是,如果我使用数据集设计器中的“预览数据”按钮运行它,或者我尝试在页面上访问它(例如使用gridview),则需要40秒以上!

在使用数据集时,我应该采取哪些步骤来追踪造成这种巨大延迟的原因?

2 个答案:

答案 0 :(得分:1)

有两种情况:

  • 问题在于应用程序级别
  • 问题出在数据库级别,实际上是SQL查询本身

因此,作为第一步尝试排除其中一个案例,从我的观点来看,更容易调试SQL方:

  1. 运行Sql Profiler
  2. 运行查询from Management Studio
  3. 保存探查器日志
  4. 清除分析器日志
  5. 运行“预览数据集”
  6. 比较执行日志,看看SQL
  7. 是否有任何差异

答案 1 :(得分:0)

要遵循的一些步骤

将sql profiler放入数据库服务器以确保应用程序正在执行的sql命令

数据集类的性能非常差,您应该尝试使用datareader

您可以使用秒表实例花费不同的时间来确定慢速代码行的位置