我目前使用 ASP.NET 创建一个 webportal,它严重依赖于数据库的使用。基本上,来自任何用户的每个(以及几乎每个 :P )GET 查询都会导致来自网络服务器的对数据库的查询。
现在,我在这方面真的很陌生,而且我非常关心性能。由于我缺乏这方面的经验,我真的不知道会发生什么。
我的问题是,使用 ADO.NET,只保留一个从 Web 服务器到数据库的静态连接,然后在每次查询数据库之前检查此连接服务器端的完整性是否是一个更明智的选择?- 或者,在每次查询之前打开连接然后关闭它会更好吗?
在我看来,第一个选项会更好,因为您可以在每次查询之前节省时间握手等,并且您可以节省数据库和服务器端的内存,因为您只有一个连接,但是这种方法有什么缺点吗?2 个查询是否可能同时发送可能会破坏彼此的完整性或混合返回的数据集?
我已经尝试在这里和网络上到处搜索以找到一些关于此的最佳实践,但没有运气。我得到的最接近的是:长时间保持数据库连接打开是否安全,但这似乎更适合您拥有多个数据库用户的分布式系统,而我只有我的网络服务器..