有人有 ADO.NET 连接池与创建和销毁方法的性能指标吗?

发布于 2024-08-08 20:04:35 字数 269 浏览 6 评论 0原文

我正在使用 WCF、SQL Server 和 ADO.NET。我正在研究数据访问层的两种实现选项。

  1. 使用连接池的企业库
  2. 不使用连接池的自定义解决方案。每次访问数据库时,都会创建、使用然后销毁连接。

选项 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.

  1. The Enterprise Library that uses connection pooling
  2. 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

别再吹冷风 2024-08-15 20:04:35

选项 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文