关于怎么样打开关闭数据库连接节省资源

caoshangfei 2010-05-15 09:31:33
有个ASP页面,浏览量非常大。这个里面有涉及到操作数据库,同时还有其他操作。
现在服务器遇到瓶颈,数据库会突然占用大量资源,上升到100%,同时会释放连接,通过查询分析器里看,有很多audit logout。
现在代码是这么写。
call dbconnect
执行数据库操作。不关闭
执行一些操作(非数据操作的)。需要的时间比较长,大概需要7秒时间。
执行数据库操作
关闭。call dbclose

这样的话,是不是会占用比较长时间的数据库连接?
如果改为
call dbconnect
执行数据库操作。
call dbclose
执行其他操作
call dbconnect
执行数据库操作
call dbclose

大家觉得哪种方式比较好?
...全文
83 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
caoshangfei 2010-05-16
  • 打赏
  • 举报
回复
顶下。
永生天地 2010-05-16
  • 打赏
  • 举报
回复
caoshangfei 2010-05-16
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 xys_777 的回复:]
asp的连接池
[/Quote]
希望能说得详细点哈。谢谢。
那我应该采取哪种方法?
dawugui 2010-05-15
  • 打赏
  • 举报
回复
连续的连接和关闭数据库,会更占资源,慎用.
Garnett_KG 2010-05-15
  • 打赏
  • 举报
回复
connection close时
caoshangfei 2010-05-15
  • 打赏
  • 举报
回复
那什么情况下sql 会有大量的audit logout出来?
Garnett_KG 2010-05-15
  • 打赏
  • 举报
回复
连接池的做法其实是连接用完返回池中后并不关闭,因为打开一个连接的代价要大的多(包括TCP的两次握手以及身份的验证等)。我觉得1方式较好。

至于数据库会突然占用大量资源,上升到100%,这个要查清楚是SQL的原因还是资源本身存在瓶颈,然后才能做下一步动作。
sql_lover 2010-05-15
  • 打赏
  • 举报
回复
如果是数据库操作量过大,建议优化操作~~~~
你说的这两种方式个人觉得第二种比较好吧

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧