gpt4 book ai didi

c# - 数据表加载很慢

转载 作者:太空宇宙 更新时间:2023-11-03 13:46:49 24 4
gpt4 key购买 nike

我使用数据表作为页面上某些下拉菜单的数据源,但我注意到在回发期间页面速度非常慢。

我一直追踪到这里:

DataTable dt = new DataTable();
dt.Load(sqlCmd.ExecuteReader()); // this takes ages

sql 命令是一个参数化查询,而不是存储过程(返回值和 where 是非常“动态”的,所以这不可行),但仍然是一个简单的选择联合查询。通常每个下拉菜单返回 5 到 20 个选项,具体取决于在其他下拉菜单中选择的内容。当我在管理工作室中运行查询时,不到一秒钟就完成了。在这里,每个下拉菜单最多可能需要 7 秒,页面上的 6 个下拉菜单很快就会加起来。我也尝试过使用 SqlDataAdapter:

SqlDataAdapter sqlDa = new SqlDataAdapter(sqlCmd);
sqlDa.Fill(dt); // this takes ages

但这同样很慢。我在 2 个不同的系统上都有这个,并且两者都有相同的性能问题。

如果有人知道更好(更快)的方法,或者知道为什么它这么慢那就太好了。

最佳答案

这不是我在这个问题上看到的最好的帖子,但里面有很好的链接,而且它在我的帖子历史中:

SQL Query that runs fine in SSMS runs very slow in ASP.NET

SQL 优化器有时喜欢决定什么是最好的,您将不得不通过一些数据执行计划的跟踪和记录来分解您的查询。它很可能是像坏索引一样被埋没的东西,或者您的查询代码可能需要优化。鉴于我们没有查询代码,拥有它可能有帮助也可能没有帮助。我建议您按照上述帖子中链接的指南进行操作并关闭您的问题。

关于c# - 数据表加载很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15075135/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com