一尘不染

保持Sql Connection打开以便迭代许多请求?还是关闭每个步骤?

sql

嘿-这是所有调用SQL Server的操作或任何需要打开连接的操作的常规操作。

假设我有20到1000个选择调用,可以对正在循环的数据中的每个项目进行调用。对于每个步骤,我将从sql中选择,将数据本地存储在结构中,然后继续。这不是一个非常昂贵的电话,因此我应该在整个循环中保持连接打开状态吗?还是应该打开和关闭每一步?

打开连接在运行时有多昂贵?我认为最好保持连接打开,但是希望对此做出正确的响应。

谢谢。


阅读 151

收藏
2021-03-08

共1个答案

一尘不染

运行时打开连接的成本有多高

这仅考虑CPU速度,不考虑带宽。

保持开放的连接可节省CPU成本,但会阻止其他请求使用该连接。因此,这是一个折衷。很难说出“正确的响应”是什么,而又不了解更多,但是在这两种情况下,似乎都在修补公差而不是钉扎名义值。

就是说,我通常首先在一个SQL工作单元的持续时间内保持连接打开,然后关闭它。

尽管似乎有些粗略的一句话是这条线

20至1000选择要循环播放的数据中的每个项目的调用。

尝试做更多基于集合的操作。

2021-03-08