首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Web开发与后端调用效率

Web开发与后端调用效率
EN

Stack Overflow用户
提问于 2008-11-05 14:58:12
回答 6查看 461关注 0票数 2

下面是一个场景:

您有一个Microsoft数据库支持的ASP.Net应用程序,在本例中不会有任何缓存。

对于web应用程序中的每个页面,有哪些更有效:

试图将所需的所有数据压缩到一个(或几个)存储过程调用中,这些存储过程调用返回多个表,并包含所需的所有数据(保存到数据集中),

使每个调用分开(通过datareader读取每个调用),这取决于它在逻辑上的意义。

我问的原因是,我总是以第二种方式结束:创建连接到数据库的简单方法,并为我拥有的每个小任务获取一些数据(即填充特定下拉列表的方法,为页面的主要信息创建另一种方法,等等)。

我担心的是,当请求一个页面时会发生什么,如果我查看服务器的server,最终会有10个左右调用该单个页面请求。这是不是太过分了?在我看来,通过页面而不是任务来压缩数据收集似乎更有效。有人有这方面的经验吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2008-11-05 15:16:53

在启用连接池的情况下,您建议将多个DB调用合并为一个没有多大的优势(如果有的话)。获取数据没有什么问题,因为您需要使用对DB的多个调用,即使每个调用打开并关闭了一个数据库连接。这是因为在启用池的情况下,每次都不会真正打开和关闭连接。

如果您的应用程序是Windows客户端应用程序,那么如果客户机和服务器之间的网络速度特别低,那么将调用“捆绑”到一个调用中可能是有意义的。您正在使用一个web应用程序,所以这里的相关连接速度是web服务器和DB服务器之间的连接速度,这不应该是一个问题。

捆绑你的数据只是额外的工作,没有回报。

票数 2
EN

Stack Overflow用户

发布于 2008-11-05 15:00:25

我日常工作的很大一部分是开发一个大型WinForms应用程序,该应用程序由一个600+表server数据库支持。

这是减少网络流量的第一种方法。人们认为,只有一个凸起的信封比一个装满信封的邮袋要好。

此外,传输的捆绑数据不应与紧密耦合混淆--收集数据的SQL可以像以往一样模块化,与伞式存储的proc或视图一起轻轻绑定在一起。

票数 3
EN

Stack Overflow用户

发布于 2008-11-05 15:01:30

不要将数据收集按页面分组。数据和演示的耦合太紧密了。如果明天数据必须放在不同的页面上呢?

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/265379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档