我使用数据表作为页面上某些下拉菜单的数据源,但注意到在回发期间页面非常缓慢。DataTable加载非常缓慢
我已经跟踪它通过在这里:
DataTable dt = new DataTable();
dt.Load(sqlCmd.ExecuteReader()); // this takes ages
SQL命令是一个parametrised查询,而不是存储过程(返回值和地方都相当“动态”所以这不会是可行的),但仍然是一个简单的选择联合查询。 每个下拉菜单通常会返回5到20个选项,具体取决于其他下拉菜单中选择的内容。 当我在管理工作室中运行查询时,它在一秒钟内完成。在这里,每个下拉菜单最多可能需要7秒钟,页面上的6个下拉菜单很快就会累计起来。 我也试图与一个SqlDataAdapter:
SqlDataAdapter sqlDa = new SqlDataAdapter(sqlCmd);
sqlDa.Fill(dt); // this takes ages
但这只是慢。 我在2个不同的系统上有这个,并且都有相同的性能问题。
如果有人知道更好(更快)的方法,或知道为什么这是如此缓慢,将是伟大的。
请稍微多一些上下文和代码。代码位于何处,是静态的,单个用户的开发服务器上的页面是否也很慢? – 2013-02-25 19:46:25
你可以展示更多的代码,例如SQL查询是什么样子的。也许你在查询本身中有一些低效率的代码 – MethodMan 2013-02-25 19:56:54
@DJKRAZE:当它返回5-20条记录时,查询是否有责任并且是7次SSMS更快? – 2013-02-25 20:01:36