从c#代码打开sql连接需要时间吗?
实际上我对一件事感到困惑 我有从c#代码打开sql连接需要时间吗?,c#,asp.net,sql-server,database,C#,Asp.net,Sql Server,Database,实际上我对一件事感到困惑 我有.net应用程序,并使用SQLServer2008作为数据库 现在,在我的方法A中,我正在填充datareader 现在,在while循环中,我通过传递result的一个属性调用另一个方法B。 当时我还打开了DB连接并将其关闭 从方法B调用另一个方法C也是一样的。 此时也打开数据库连接并关闭 填写方法A的最终列表。这需要时间 所以,我的观点是。打开DB连接并关闭它。这是一个耗时的过程吗?在任何循环中连接到第三方应用程序(数据库、Web服务或类似应用程序)通常都是非常
.net
应用程序,并使用SQLServer2008
作为数据库
现在,在我的方法A中,我正在填充datareader
现在,在while循环中,我通过传递result的一个属性调用另一个方法B。
当时我还打开了DB连接并将其关闭
从方法B调用另一个方法C也是一样的。
此时也打开数据库连接并关闭
填写方法A的最终列表。这需要时间
所以,我的观点是。打开DB连接并关闭它。这是一个耗时的过程吗?在任何循环中连接到第三方应用程序(数据库、Web服务或类似应用程序)通常都是非常糟糕的做法。像这样的交流总是需要相对较长的时间 随着循环中元素数量的增加,应用程序将变得越来越慢 更好的方法是对所有元素执行一个操作,然后将所需的数据传递到循环逻辑中
与所有情况一样,也存在例外情况,如果有数百万个实体要处理,并且连接开销很小,那么循环可能会导致以原子方式处理每个实体更高效。连接到第三方应用程序(数据库、Web服务或类似应用程序)通常是非常糟糕的做法在任何循环中。像这样的交流总是需要相对较长的时间 随着循环中元素数量的增加,应用程序将变得越来越慢 更好的方法是对所有元素执行一个操作,然后将所需的数据传递到循环逻辑中 与所有情况一样,也存在例外情况,如果有数百万个实体要处理,并且连接开销很小,那么循环可能会导致以原子方式处理每个实体更有效的情况 打开数据库连接并关闭它。这是一个耗时的过程 对。如果启用了池,并且从池返回连接,则打开和关闭连接至少需要一次往返,以重置连接。如果连接不是共用的,则打开和关闭是一个完整的SSPI完全握手。如果使用了SQL身份验证并启用了加密,则在SQL握手之前会进行另一次完整的SSL握手以建立安全通道。即使在理想情况下,也需要10秒的毫秒,只需增加一些最小的网络延迟,就可以达到整秒 一个编写良好的ASP.Net应用程序需要每个请求一个(池)连接,而不是更多 打开数据库连接并关闭它。这是一个耗时的过程 对。如果启用了池,并且从池返回连接,则打开和关闭连接至少需要一次往返,以重置连接。如果连接不是共用的,则打开和关闭是一个完整的SSPI完全握手。如果使用了SQL身份验证并启用了加密,则在SQL握手之前会进行另一次完整的SSL握手以建立安全通道。即使在理想情况下,也需要10秒的毫秒,只需增加一些最小的网络延迟,就可以达到整秒
编写良好的ASP.Net应用程序每个请求需要一个(池)连接,而不是更多。切勿在循环中连接到第三方应用程序(sql、ws或类似应用程序)。一开始它看起来是无害的,但一旦卷增加,它们就会变得非常缓慢,以循环方式连接到第三方应用程序(sql、ws或类似应用程序)。一开始这似乎是无害的,但一旦卷增加,它们就会变得非常缓慢……我得到了你……但我有点困惑……我如何纠正启用或不启用池的问题?请参阅。默认情况下是开着的。嗨…我得到了你。但我有点困惑。我如何纠正我启用或不启用的池?请参阅。默认情况下,此选项处于启用状态。