Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从c#代码打开sql连接需要时间吗?_C#_Asp.net_Sql Server_Database - Fatal编程技术网

从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或类似应用程序)。一开始这似乎是无害的,但一旦卷增加,它们就会变得非常缓慢……我得到了你……但我有点困惑……我如何纠正启用或不启用池的问题?请参阅。默认情况下是开着的。嗨…我得到了你。但我有点困惑。我如何纠正我启用或不启用的池?请参阅。默认情况下,此选项处于启用状态。