热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

asp与sqlserver数据库连接,哪种速试会快一些,请教高手

我想问一下,如果像我们这么多人同时在线的网站,在建立conn时,是在global.asa里而直接用conn.open打开,然后网页关闭时conn自动关闭,速度快一些,还是在每个页面用conn.ope
我想问一下,如果像我们这么多人同时在线的网站,在建立conn时,是在global.asa里而直接用conn.open 打开,然后网页关闭时conn自动关闭,速度快一些,还是在每个页面用conn.open打开,然后在页面的最后用conn.close
set cOnn=nothing速度好一些呢?

2 个解决方案

#1


关注!

个人认为连接数据库很消耗资源,应该放在global.asa的Application_OnStart里,conn保存在Application对象里,有再多的人登陆,都只进行一次数据库连接。

但发现CSDN的朋友们习惯在每一个页连接数据库,在这个页结束的时候set nothing,我有点困惑了。每次打开一页都要进行连接数据库的操作,不消耗资源吗?

有朋友说,同样名称(是同样连接字符串吧?)的数据库连接Conn,都会自动放在IIS的连接池里。是这样吗?

昨天看到一篇文章,《改进性能和样式的24个ASP技巧》,明确提出,不要把ADO对象放在Application里。

原文如下:
---------------------------------------------------------------------
技巧 5:不要在 Application 或 Session 对象中缓存数据库连接 
  缓存 ADO 连接通常是不好的策略。如果一个 Connection 对象存储在 Application 中,并在所有页上使用,那么所有页将竞争使用该连接。如果Connection 对象存储在 ASP Session 对象中,那么将为每个用户创建数据库连接。这将连接池的好处毁于一旦,并对 Web 服务器和数据库产生不必要的压力。
  取代缓存数据库连接的方法是,在每个使用 ADO 的 ASP 页上创建并取消 ADO 对象。这是个有效的方法,因为 IIS 具有内置的数据库连接池。更准确的说,IIS 自动启用 OLEDB 和 ODBC 连接池。这确保了创建并取消每个页上的连接将是有效的。
---------------------------------------------------------------------

忘高手指教。

#2


每个页面打开一次把,不要放在appliaction 中

推荐阅读
author-avatar
iMR_WALRUS海象先生ninoGmH
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有