2013-05-28 15 views
1

我的同事正在辩护说,应用程序的单个数据库连接比使用池打开和关闭应用程序要好得多和快得多。应用程序的单个数据库连接

他有一个ApplicationStart方法,他在Application('db'),并保持此应用程序之间的连接。这个应用程序主要包含只读数据。

我该如何说服他?

回答

5

这很大程度上取决于这里的“应用程序”。如果这是一个客户端应用程序,它可以在单个线程上工作并顺序执行,那么坦率地讲,两种方式都不会有明显的差别。在这种情况下,如果使用池,它基本上是一个1项池,并且从池中打开一个连接实际上是瞬间的(并且与网络IO相比肯定不明显)。在这种情况下,我会仍然说使用内置池,因为它会避免假设当你改变方案。但是,如果您的应用程序使用多个线程或通过任何其他机制一次执行多个事件(async)等,则使用单个连接将会非常糟糕;要么失败,要么你需要围绕连接进行同步,这会严重限制你的工作。请注意,任何服务器端应用程序(任何类型的Web应用程序,WCF服务,SOAP服务或套接字服务)都会对他的想法做出非常严重的反应。

也许主要说服他的主要方法很简单:让他证明一下。要求一个可重复的测试/演示,显示这种差异。

相关问题