我有一些SQL Server Store Procs,可以为C# web应用程序中的图表生成统计数据。
现在,web应用程序中的用户必须等待大约5分钟才能看到这些包含更新数据的图表,这对用户和我来说都是一件令人头疼的事情。
有些Store procs需要超过5分钟的时间来生成数据,但web用户不需要在运行时查看信息。也许每2-3个小时更新一次图表。
所以,我不知道解决这个问题的最佳实践是什么。
我在考虑创建一个windows服务,每隔2-3个小时就会调用SP,然后将数据存储在不同的表中。
有没有关于如何处理这件事的线索?
感谢你的帮助
发布于 2013-02-26 04:38:54
正如我在评论中所说的,索引视图(有点像物化视图)可以提高某些常见查询的性能,而不必创建临时表之类的东西。
索引视图的优点是performance,并且它不需要太多额外的编码和工作。当您创建索引视图而不是临时表时,查询导航器将(应该)知道何时利用此视图,而无需最终用户指定临时表或聚合表。
索引视图的优点以及如何实现它们的示例可以在http://msdn.microsoft.com/en-us/library/dd171921(v=sql.100).aspx中找到
发布于 2013-02-26 04:38:21
这里有一些指向索引视图的链接。正如评论所说,视图允许您快速获取信息,而不是每次都使用存储的过程执行select操作。阅读第二个链接,可以获得关于视图的非常好的解释。
MSDN http://msdn.microsoft.com/en-ca/library/ms187864%28v=sql.105%29.aspx
这里解释得很好,http://www.codeproject.com/Articles/199058/SQL-Server-Indexed-Views-Speed-Up-Your-Select-Quer
https://stackoverflow.com/questions/15075745
复制相似问题