有人有 ADO.NET 连接池与创建和销毁方法的性能指标吗?
我正在使用 WCF、SQL Server 和 ADO.NET。我正在研究数据访问层的两种实现选项。
- 使用连接池的企业库
- 不使用连接池的自定义解决方案。每次访问数据库时,都会创建、使用然后销毁连接。
选项 2 如下所示:
using (var connection = new SqlConnection(...)){...}
这两者之间的性能差异是什么?什么时候池化连接才有意义?
I'm using WCF, SQL Server and ADO.NET. I'm looking at two implementation options for the data access layer.
- The Enterprise Library that uses connection pooling
- A custom solution that does not use connection pooling. Every time the database is accessed a connection is created, used and then destroyed.
Option 2 looks like this:
using (var connection = new SqlConnection(...)){...}
What is the difference in performance between these two? When does it make sense to pool connections?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
选项 2 也将具有连接池,除非您在连接字符串中明确将其关闭。池化是在提供者级别提供的,将连接标记为“关闭”只是告诉池重用它。因此,您的 2 个选项之间的性能差异几乎为 0。
总是。
Option 2 will have connection pooling as well unless you explicitly turn it off in the connection string. Pooling is provided at the provider level and marking a connection "closed" just tells the pool to reuse it. So there should be almost 0 perf difference between your 2 options.
Always.