我的网站一直使用持久连接,根据我对它们的理解,没有理由不这样做。为什么在可以重用时关闭连接?我有一个网站,总共访问约7个数据库。它不是一个巨大的交通网站,但它足够大。如果我使用它们,你对持久性的看法是什么?
答案 0 :(得分:9)
持久连接:
持久连接不会带来任何非持久连接所能做的事情 那么,为什么要使用它们呢? 唯一可能的原因是性能,在创建指向SQL Server的链接的开销很高时使用它们。这取决于许多因素,如:
总是可以用非持久连接替换持久连接。它可能会改变脚本的性能,但不会改变它的行为!
商业RDMS可能会通过并发打开的连接数来获得许可,而这里的持久连接可能会被误认为
答案 1 :(得分:1)
我对该领域的了解有限,所以我无法向您提供有关该主题的许多细节,但据我所知,创建连接并将其交给线程的过程确实需要资源,所以我会避免如果我是你的话。无论如何,我认为大多数决策都不能一概而论,取决于业务。
例如,如果您的应用程序与数据库持续通信并且仅在应用程序关闭时停止,那么可能需要持久连接,因为您可以避免之前提到的过程。
但是,如果您的应用程序仅偶尔与数据库通信以获取次要信息,那么关闭连接可能会更加明智,因为您不会在未使用的已打开连接上浪费资源。
还有一种称为“连接池”的技术,在其中您可以先验地创建一系列连接,并将它们保留在那里供其他应用程序使用。在这种情况下,连接对数据库是持久的,但对应用程序是非持久的。
注意:MSSQL中的连接始终是数据库的持久性,因为连接池是默认行为。