【发布时间】:2009-12-29 18:04:14
【问题描述】:
我是 ASP.NET 的新手,刚刚构建我的第二个实时 Web 应用程序。
一年前我在学习 ASP.NET 时,有人告诉我 “连接并从数据库中获取数据的成本更高,因此尽可能少地连接并有效地重用检索到的数据” 。给出的原因是
- 首先需要建立与数据库服务器的连接。
- 与 IIS 相比,DB 服务器上的并发连接数会更少。
- 使用断开连接的架构,以便可以很快关闭连接(当然也有其他的 flexibilites) 等等等等。
当我的研究扩展时,我学会了存储从数据库中检索到的数据的其他方法,跨回发。但是现在,我正在一一了解到它们比连接到 DB 更昂贵。喜欢...
- 会话变量:内存大小与用户数量有关
- 查看状态:加密和旅行的过程使其成本更高。
- 应用程序变量:并非在所有情况下都如此有用。
- 缓存:(我知道它们,但直到现在才使用它们)。
另外,我反复建议不要将检索到的表存储在会话、视图状态等中,而是连接到数据库并在每次回发时重新获取它。
并根据基于 SQL Server 的会话状态管理来查看这一点,其中框架本身使用 DB 来存储会话。 我觉得,我应该忘记我最初对数据库连接的了解和认识。
你说什么???
也欢迎任何其他建议/提示。
谢谢
【问题讨论】:
-
重新标记性能和数据库连接,以试图让一些关注这些标记的人参与讨论。
标签: .net asp.net performance database-connection