认识和优化connection对象
在这个数据库连接中。我们使用了session对象,首先,建立一个conn的连接对象,然后连接到数据库data.mdb中,取得连接句柄后,把它保存在session("conn")这个session会话变量中,在打开记录集前,从session("conn")中取出句柄,借助于session对象。我们可以使不同的ASP页面共用一个连接对象,减少了对服务器内存的开销,而我们也不需要担心,当一个客户因为错误操作导致服务器不能析放该被占用的session连接对象,因为我们知道每个客户的session对象是有一定的生存期限的,过了这个期限,服务器就会自动把它析放掉。 Set conn = Server.CreateObject("ADODB.Connection") %$#@62;
在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;%
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
d width="100%">
而ODBC3.0所提供的连接池connection pooling。也能有效地提高数据库的运行性能。我们知道,在众多的asp页面中生成的connection对象,总是处在不断建立连接,解除连接,析放连接中。
如何能高效的管理和使用好这些被废弃的连接,也可以在一定程序上大大提高运行效率。而ODBC3.0则提供了这样的功能,它能聪明的把需要新建立的连接引导至即将废弃的connection对象上,反复地使用它。这样,就能节省了不好服务器的开销。
- · 使用数据绑定控件显示数据
- · 学习使用ASP对象和组件
- · 在ASP中限制同一表单被多次提交
- · ASP中使用Session变量的优缺点
- · ASP编程之ActiveX 组件
- · 利用JSP的思想来做ASP
- · 全面解析Server对象
- · VBScript教程 第七课 使用条件语句
- · VBScript教程 第十一课 深入VBScript
- · VBScript教程 第六课 VBScript运算符
- · VBScript教程 第九课 VBScript过程
- · Form域中用Post提交容量大的数据
- · 网页中用隐藏帧来实现三个应用
- · asp错误说明小全(ZTformflashempire)
- · ASP教程:第十九篇最新的ASP、IIS安全漏洞
- · ASP教程:第十四篇ActiveX组件
- · ASP教程:第十一篇ASP内建对象Server
- · ASP教程:第九篇ASP内建对象Application和Ses…
- · ASP教程:第六篇ASP脚本循环语句
- · ASP教程:第五篇脚本变量、函数、过程和条件语…
- · ASP教程:第三篇ASP基础
- · ASP教程:第二篇ASP简介
- · ASP教程:第一篇Areyouready
- · ASP中XML、DataSet、DataGrid结合实例
- · ado网站资料库技术速成(一)
- · ado网站资料库技术速成(三)
- · ado网站资料库技术速成(四)(BIG5)
- · asp中的游标
- · RecordSet的Locktype属性
- · 用asp处理access数据库
- · 在ASP与ASP.NET之间共享对话状态(2)
- · 在ASP与ASP.NET之间共享对话状态(1)
- · Js:关于document.execCommand()函数可用参数大…
- · VBScript错误信息一览
- · 分页函数
- · 开辟一条自由ASP快车道
- · 根据需要动态include不同的文件
- · 让自定义文件下载支持断点续传(HTTP_RANGEAd…
