认识和优化connection对象

connection|对象|优化

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

$#@60;%
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


%$#@62;
d width="100%">

 在这个数据库连接中。我们使用了session对象,首先,建立一个conn的连接对象,然后连接到数据库data.mdb中,取得连接句柄后,把它保存在session("conn")这个session会话变量中,在打开记录集前,从session("conn")中取出句柄,借助于session对象。我们可以使不同的ASP页面共用一个连接对象,减少了对服务器内存的开销,而我们也不需要担心,当一个客户因为错误操作导致服务器不能析放该被占用的session连接对象,因为我们知道每个客户的session对象是有一定的生存期限的,过了这个期限,服务器就会自动把它析放掉。
  而ODBC3.0所提供的连接池connection pooling。也能有效地提高数据库的运行性能。我们知道,在众多的asp页面中生成的connection对象,总是处在不断建立连接,解除连接,析放连接中。
  如何能高效的管理和使用好这些被废弃的连接,也可以在一定程序上大大提高运行效率。而ODBC3.0则提供了这样的功能,它能聪明的把需要新建立的连接引导至即将废弃的connection对象上,反复地使用它。这样,就能节省了不好服务器的开销。

时间: 2024-10-21 21:08:27

认识和优化connection对象的相关文章

Connection对象

connection|对象     上一章讨论了ADO的基础知识,内容主要涉及Recordset对象以及对数据的处理.在大多数例子中,只是通过指定数据库的表名来获取数据,但正如从对象模型中看到的,ADO还有其他允许访问数据的对象.       本章将要更详细地介绍这些对象,特别将研究以下内容:       · Connection对象,以及如何用它来获取数据和运行命令.       · Command对象,为什么需要该对象及其所具有的功能.       · 如何运行存储过程,特别是那些需要参数的

对于Connection 对象讲述与谈论

  能通过本地维护数据集里面的记录缓存来提高性能.例如,你能在本地Connection 对象集中存储10页数据,只在用户导航超出第一页或最后一页时才查询数据源检索新的数据,但仍然要求能够写出正确无误的连接串,可以使用下面的方法: 1.新建一个文件,如 test.udl双击 test.udl,会打开一个 [数据链接属性]对话框,默认在[连接]属性页. 2.单击标签转到[提供者]属性页,选择您希望连接的数据,默认是 Microsoft OLE DB Provider for ODBC Drivers

在三层架构DAL层多次开启和关闭Connection对象好吗?

问题描述 在DAL层中,每次执行查询以后都会关闭prepareStatement对象和Connection对象,请问这样做合适吗?我的SQLHelper写成是静态的了,DAL层每个查询都从SQLHelper中获取一个PrepareStatement对象,然后每次执行完对应的查询后都会关闭pstmt对象和connection对象,然而这只是在DAL层,在BLL层中一般会调用1-5个DAL的方法,也就是说,一轮业务逻辑下来,Connection对象会开启和关闭1-5次,这样对性能有影响吗?有没有高手

c3p0连接池中获取的Connection对象的close()方法是真的把连接给关闭了?

问题描述 c3p0连接池中获取的Connection对象的close()方法是真的把连接给关闭了? 自己做写了一个管理数据源的DBManager,构想中从数据源里面获取的Connection使用完之后执行close()方法,然后把Connection对象闲置回连接池中. 但是测试出来的结果好像每次执行close()之后connection就销毁了. 代码如下: DBManager.java package ben.DBUtils; import java.sql.Connection; impo

如何在ado中使用connection 对象

ado|connection|对象 什么是connection对象? 一个connection对象描述了到数据源的物理连接.你可以使用odbc也可以利用ole db来连接数据源.当你打开一个connectiont对象时你就会试图连接数据库.Connection对象的state属性会告诉我们连接是否成功.通过connection对象的execute方法向数据源发送SQL语句或运行存存储过程.如果你向数据源发送的命令要求数据源返回记录集,那么记录集对象会自动的被创建.当你连接上数据库后你可以关闭co

Connection对象的应用

connection|对象 要建立数据库连接,首先应创建connection对象的实例,常用下面的脚本创建一个Connection对象实例: set conn=Server.CreatObject("ADODB.Connection") Dbpath=Server.MapPath(用户.mdb") conn.open"driver={Microsoft Access Driver(*.mdb);dbq="&Dbpath 这时已经建立了数据库的连接,

如何尽快释放掉Connection对象建立的连接?

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

如何在ado中使用connection 对象什么是connection对象?

ado|connection|对象 什么是connection对象? 一个connection对象描述了到数据源的物理连接.你可以使用odbc也可以利用ole db来连接数据源.当你打开一个connectiont对象时你就会试图连接数据库.Connection对象的state属性会告诉我们连接是否成功.通过connection对象的execute方法向数据源发送SQL语句或运行存存储过程.如果你向数据源发送的命令要求数据源返回记录集,那么记录集对象会自动的被创建.当你连接上数据库后你可以关闭co

Connection 对象

connection|对象   Connection 对象代表打开的.与数据源的连接. 说明 Connection 对象代表与数据源进行的唯一会话.如果是客户端/服务器数据库系统,该对象可以等价于到服务器的实际网络连接.取决于提供者所支持的功能,Connection 对象的某些集合.方法或属性有可能无效. 使用 Connection 对象的集合.方法.和属性可执行下列操作: 在打开连接前使用 ConnectionString.ConnectionTimeout 和 Mode 属性对连接进行配置.