认识和优化connection对象

原创 2004年06月29日 15:58:00
在ASP的数据库编程中,connection对象是我们不可能离开的一个对象,在对数据库进行任何的操作,比如更新记录,插入,删除,检索等,都必须借助于connection对象来完成。形象地来说,connection对象就是程序于数据库沟通的管道,所有对数据库的操作,都必须经过它,因此,无论我们以何种方式连接数据库前,总是少不了执行下列的代码。

  Set conn = Server.CreateObject("ADODB.Connection")

  建立一个connection对象的实例变量,然后在它的基础上建立recorderset对象或是command对象来操作数据库。既然connection对象是如此的重要,那么如何优化和管理好connection对象对数据库程序来说是极其重要的,它关系到程序的性能。

  每当一个客户执行数据库操作时,就需要借助一个connection对象,而每个
connection对象就会占用服务器的一部分资源,而数据库的同时连接数不可能是无限的,因此。在考滤要提供高性能的数据库web程序时,我们需要考滤如何去减少服务器的开消。一般来说。每个asp页面中建立一个connection对象,都会在服务器中产生一个对数据库的连接。而不同的页面的connection对象是不能共享的。那么。我们可不可以使同一个用户所访问的不同页面共享一个connection连接通道呢。

  大家不妨想一想我们的asp六大内建对象的session对象,他可以为某个特定的用户来保存私有的数据,如果我们把connection对象保存在session对象中,是否可以使不同的asp页面都使用同一个连接通道呢?看看下面的这段程序。


<%


Set conn = Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("/")&"/news/data/data.mdb"
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
session("conn")=conn
Set rs = Server.CreateObject("ADODB.Recordset")
sql="select * from data"
cn=session("conn")
rs.open sql,cn,3,2

%>

  在这个数据库连接中。我们使用了session对象,首先,建立一个conn的连接对象,然后连接到数据库data.mdb中,取得连接句柄后,把它保存在session("conn")这个session会话变量中,在打开记录集前,从session("conn")中取出句柄,借助于session对象。我们可以使不同的ASP页面共用一个连接对象,减少了对服务器内存的开消,而我们也不需要担心,当一个客户因为错误操作导致服务器不能析放该被占用的session连接对象,因为我们知道每个客户的session对象是有一定的生存期限的,过了这个期限,服务器就会自动把它析放掉。

  而ODBC3.0所提供的连接池connection pooling。也能有效地提高数据库的运行性能。我们知道,在众多的asp页面中生成的connection对象,总是处在不断建立连接,解除连接,析放连接中。
  如何能高效的管理和使用好这些被废弃的连接,也可以在一定程序上大大提高运行效率。而ODBC3.0则提供了这样的功能,它能聪明的把需要新建立的连接引导至即将废弃的connection对象上,反复地使用它。这样,就能节省了不好服务器的开消

认识和优化connection对象

在这个数据库连接中。我们使用了session对象,首先,建立一个conn的连接对象,然后连接到数据库data.mdb中,取得连接句柄后,把它保存在session("conn")这个session会话变...
  • bubuhemalu
  • bubuhemalu
  • 2008年04月19日 20:21
  • 228

(理解)ORM对象-关系映射

对象-关系映射(Object/Relation Mapping,简称ORM),是随着面向对象的软件开发方法发展而产生的。面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应...
  • liutianshx2012
  • liutianshx2012
  • 2014年12月14日 01:30
  • 409

SQL优化技巧和索引的认识

现在简单的举几个例子 Where子句中有“!=”将不使用索引 select account_name from test where amount != 0  (不使用) select ...
  • kaishuaige
  • kaishuaige
  • 2013年04月27日 09:43
  • 374

连接对象Connection的使用

在C#数据库编程中,Connection对象用来连接数据源,针对不同的数据库连接模式,Connection有以下三种形式: (1)SqlConnection 该对象是专为连接Sql Server数据...
  • zmj_tata
  • zmj_tata
  • 2014年12月24日 09:52
  • 876

WEB前端开发优化大全

优化一个网站的性能,首先要从前端+服务端+开发成本去考虑。 前端方面:WEB端页面是由HTML+CSS+JS(结构层+样式层+行为层)这三层构成的,所以优化从三个层次去考虑。 后端方面:服务器+带宽+...
  • DreamsTom
  • DreamsTom
  • 2016年12月02日 21:10
  • 788

Connection 和 Transaction 对象

在 ADO.NET 中,可以使用 Connection 和 Transaction 对象来控制事务。若要执行事务,请执行下列操作:   调用 Connection 对象的 BeginTra...
  • guoyang9108
  • guoyang9108
  • 2011年10月10日 21:02
  • 234

面向对象思想--谈谈你对面向对象的理解

面向对象 面向对象编程,即OOP,面向对象的概念和应用已经超越了程序设计、软件开发领域,现在已经发展到了各个领域。 面向对象可以说是对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段的产物...
  • qq_32381815
  • qq_32381815
  • 2018年01月21日 15:15
  • 31

[ADO学习笔记] Connection对象

要使用VC来做软件,需要掌握的知识真是太多了,从哪里学起呢,就总自己最感兴趣,最有用处的开始吧。平常工作中,经常要于数据库打交道,所以学习使用ADO来操作数据库是个不错的选择。虽然对MYSQL比较的感...
  • aasmfox
  • aasmfox
  • 2011年06月13日 22:17
  • 1263

【HTTP】连接的优化技术

参考:《HTTP权威指南》 HTTP允许客户端和最终源端服务器之间存在一串HTTP中间实体(代理、高速缓存等)。可以从客户端开始,逐跳地将HTTP报文经过这些中间设备,转发到源端服务器上。(或者进行...
  • sugaryaruan
  • sugaryaruan
  • 2015年10月06日 00:47
  • 788

ASP.NET的简单认识

ASP.NET是.NET FrameWork的一部分,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们。 指 Active ...
  • u013036404
  • u013036404
  • 2015年07月31日 16:45
  • 1407
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:认识和优化connection对象
举报原因:
原因补充:

(最多只允许输入30个字)