【发布时间】:2013-01-16 17:35:05
【问题描述】:
我有点知道这个问题的答案,但无法真正掌握基本概念。我知道您现在总是被指示使用连接池。但是想象一下这种情况。
我需要从一个数据库和一个表中多次读取数据。
连接池将注入微秒级的开销,但为什么不通过对所有内容使用单个连接并锁定它来消除它呢?
既然是一个数据库,一张表。我们不太可能从多线程连接池中获得任何性能提升吗?
只是希望在这里有所澄清。也许一些简单的资源可以解释为什么,连接池总是更好。
谢谢。我知道这不是最大的问题,我很感谢你的时间。我专门在 .net 环境中,但这是跨编程的基本概念正确吗?
【问题讨论】:
-
旁注:跨编程的基本概念之一是“永远不要猜测特定代码的性能 - 尝试和衡量”。还有一个不太基本的算法——没有总是更好的算法——即使是冒泡排序也可以在 3 元素列表上胜过几乎任何东西:)
标签: asp.net sql-server database multithreading connection-pooling