【发布时间】:2013-06-21 18:48:51
【问题描述】:
我有一个 Web 应用程序,上面有很多下拉菜单和网格。
当前,当一个下拉列表的值发生变化时,相关下拉列表中的项目会被填充(繁重的 DB 操作)并且实际上整个页面都会发布到服务器。
问题是在这种情况下可以推荐 Ajax 吗?我听说 Ajax 只适用于轻量级操作。
【问题讨论】:
-
选项是否经常更改,或者它们是特定于用户的?如果没有,我会考虑在网络服务器上缓存该信息,这样您就不必每次都访问数据库,在这种情况下,ajax 将是一个很好的选择。
-
我同意 Karl 和 Rob 都是很好的答案 - 我还想看看可以做些什么来加快长期运行的操作 - 已经提到过缓存,但你有没有研究过执行计划长期运行的查询?如果您使用 sql server 2008+,当您在 SSMS 中运行查询时,可以选择显示执行计划,这通常会为您提供提示和代码来实现可以产生巨大差异的提示(通常缺少索引)。在执行嵌套 sql 查询并加入那些而不是嵌套的情况下,还可以考虑取消一些视图 - 也很有帮助。
-
Ajax 在客户端工作,因此它不会在数据库上执行任何操作,您的服务器将承担负载,所以问题是,Ajax 可以处理响应吗?如果它是来自服务器的非常大的响应,您必须确保您的缓冲区可以承受所有响应。您还应该记住,当所有数据都在尝试渲染时,您无法控制它的速度……