我的aspx页面(DropDownLists)上有很多控件,每个控件都绑定到一个SQLDataSource。
他们存储过程需要很长时间才能运行。几个星期以来,我一直与DBA合作,试图加快速度。对于最慢的,我们把它降低到大约1-2秒。但是,加载其中八个页面的时间太长,用户无法等待!
所以,我想知道是否有办法让这些控件同时加载,而不是连续加载?
我在SSMS中运行了32个这样的慢速触发器,耗时38秒。我在SSMS中同时运行了4套这32个触发器,他们花了42-43秒。所以它从每个proc的1.19秒到每个proc的.34秒。我想在我的aspx.net网页中使用这些相同的方法。
摘要:我可以强制同步加载SQL数据源而不是连续加载。
编辑:我可以在我的C#代码中手动调用DataBind,而不是自动执行。然后,我可以为每次调用DataBind启动一个新的thred ... 这项工作可能吗?
答案 0 :(得分:1)
在我看来,缓存可能是更好的解决方案。此外,在同一过程中使用多个结果集。
答案 1 :(得分:1)
您应该查看异步页面或异步ADO.NET:http://msdn.microsoft.com/en-us/magazine/cc163725.aspx
答案 2 :(得分:0)
您可以使用jquery / ajax / httphandlers(或在您的页面上标记为[webmethod]的方法)/ json来加载下拉组合信息。有了这个,你可以并行查询,你会有一个响应更快的界面。
您将有更多的开发工作,但更好的性能和更好的界面控制。