我有一些SQL Server Store Proc,它可以为C#web应用程序中的图表生成统计数据。
现在,网络应用程序中的用户必须等待大约5分钟才能看到这些带有更新数据的图表,这对用户和我来说都是一种痛苦
一些Store进程需要5分钟以上才能生成数据,但网络用户不需要实时查看信息。也许每2-3小时更新一次图表。
所以,我不知道解决这个问题的最佳做法是什么。
我正在考虑创建一个windows服务,它每隔2-3小时就会调用SP,然后将数据存储在不同的表中。
有关于如何处理这件事的线索吗?
感谢的帮助
正如我在评论中所说,索引视图(有点像物化视图(可以提高某些常见查询的性能,而不必制作临时表之类的东西。
索引视图的好处是性能,并且不需要太多额外的编码和精力。当创建索引视图而不是临时表时,查询导航器将(应该(知道何时利用此视图,而不需要最终用户指定临时表或聚合表。
索引视图的好处以及如何实现它们的示例可以在这里找到http://msdn.microsoft.com/en-us/library/dd171921(v=sql.100(.aspx
这里有一些到索引视图的链接。正如评论所说,视图允许您快速获取信息,而不是每次都使用存储的proc进行选择。阅读第二个链接,获得关于视图的非常好的解释。
MSDNhttp://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