|
|
1
2
如果我理解正确的话,您正在考虑在各种include中的各种函数中保存的复杂代码之间共享连接对象。 在这种情况下,这是个坏主意。如果其他代码可能已经看到需要修改它们,就很难保证连接的正确状态和设置。此外,有时您可能会有一些代码获取消防软管记录集,但在调用另一段也需要连接的代码时,这些代码尚未完成处理。在这种情况下,您不能共享连接。 让每个原子代码块获得自己的连接会更好。连接将处于干净的已知状态。必要时多个连接可以在Parralel中运行。正如其他人所指出的,连接创建的成本几乎完全由底层连接池所降低。 |
|
|
2
3
基本上,ASP页面是同步的。那么,为什么不在每次页面加载时打开一个连接,在每次页面加载时关闭它呢?所有其他打开/关闭似乎都是不必要的。 |
|
|
3
2
在场景2中,应用程序和sqlserver之间有一个往返行程,用于执行每一个消耗服务器资源和总执行时间的查询。
编辑:
嗯,我以为你是指一次查询多个问题……
|
|
4
2
最佳做法是打开连接一次,读取所有数据并尽快关闭连接。关闭连接后,可以对检索到的数据执行所需操作。在这种情况下,您不会打开太多的连接,也不会打开太长的连接。 即使您的代码在多个地方有数据库调用,创建连接的开销也会使事情变得比等待更糟——除非您说在服务器端创建页面需要几秒钟?通常,即使没有受控制的数据访问和许多功能,您的页面也应该在一秒钟之内在服务器上生成。 |
|
|
5
0
我相信默认的连接池大约有20个连接,但是sqlserver可以处理更多的连接。从服务器获取连接花费的时间最长(假设您没有对命令做任何愚蠢的事情),所以我认为每一页获取一个连接并在随后使用时终止它没有任何错误。 对于可伸缩性,您可能会遇到连接池太忙和超时的问题,而您的脚本等待连接可用,而您的数据库有100个备用连接,但没有人使用它们。 在同一个页面上创建并杀掉我的选票。 |
|
|
6
0
从性能的角度来看,没有显著的差异。ADODB连接池管理与数据库的实际连接。adodb.connection.open和.close只是连接池的一个立面。实例化1或15个adodb.connection对象实际上并不影响性能。在使用事务之前,我们将连接字符串与adodb.command(.activeconnection)结合使用,并且从不显式打开或关闭连接。 显式保留对adodb.connection的引用的原因是事务或基于连接的函数,如mysql last_inserted_id()。在这些情况下,您必须绝对确定每个查询都有相同的连接。 |
|
John D · 需要为NULL或NOT NULL的WHERE子句 10 月前 |
|
|
Nebula Tech · 在SQL Server中搜索字符串中单词的多次出现 10 月前 |
|
Marc Guillot · 记录值时忽略冲突 10 月前 |
|
|
Fachry Dzaky · 正确使用ROW_NUMBER 11 月前 |
|
|
GH DevOps · 多对多关系中同类型的SQL Server关系表设计 11 月前 |
|
|
TriumphTruth · 从满足特定条件的数据集中选择1行 11 月前 |