【发布时间】:2011-04-04 17:02:11
【问题描述】:
从性能的角度来看,我遇到了一个典型的场景。用户从下拉列表中选择一个值并单击一个按钮。存储过程将该值作为输入参数,执行并将结果返回到网格。对于其中一个值 ('All'),查询运行大约 2.5 分钟。对于其余值,查询运行时间少于 1 毫秒。
显然,让用户等待 2.5 分钟是行不通的。那么,有哪些典型的策略来处理这个问题呢?
我自己的一些想法:
- 存储“All”值信息并每晚生成的新表
- 在缓存服务器上缓存数据
感谢任何帮助。
谢谢!
更新
更多信息:
sp 返回两个结果集。第一个是按汇总汇总的分组,第二个是第一个结果集,已分解(大约 80,000 行)。
【问题讨论】:
-
如果您能向我们展示您的查询和表结构,您将获得更好的帮助
-
2.5 分钟很长。因此,除非数据真的很多,否则您的查询或索引可能存在问题,因此最好有更多信息,正如 Abe Miessler 已经建议的那样。
-
@Abe 我的 sp 包含复杂的业务和领域逻辑。我认为将其粘贴在这里没有帮助。我以非常笼统的方式表达了我的问题,我正在寻找一个笼统的答案。
-
@Abe 这很好。亲自?不,我不认为它会有用。网格正在使用分页,但仍然。我老板的想法是另一回事。
-
Bleh,老板有时让我发疯......
标签: asp.net sql performance caching sql-server-2008-r2