ASP中3种分页显示的性能比较
来源:网易学院 发布时间:2007-08-15 13:37:00
下面通过对比来看看ASP中3种分页显示的性能,执行效率。
一,使用存储过程分页,这种情况又分为两种方式:
第一种,使用command对象,如下:
Set Cmd=server.CreateObject("Adodb.Command")
Cmd.ActiveConnection=conn
Cmd.CommandText="ycuu_gb_getmsg"
Cmd.CommandType=4'adCmdStoredProc
cmd.prepared=true'
set param=Cmd.CreateParameter("@iPageNo",adInteger,1,2,Page)
Cmd.Parameters.Append param
set param=Cmd.CreateParameter("@iPageSize",adInteger,1,2,PageSizeConst)
Cmd.Parameters.Append param
set rs=Cmd.execute
第二种,使用connection对象的执行方法直接执行
具体如下:
set rs=conn.execute ("execute ycuu_gb_getmsg "&page&", "&pagesizeConst)
第三种,不使用存储过程,直接使用ADODB.RecordSet的功能来分页,
具体代码如下:
Set rs = Server.CreateObject("ADODB.Recordset")
sql = "Select * FROM Guestbook Order By dateandtime Desc"
rs.open sql,conn,1,1
rs.pagesize = 150'每页显示的留言数量,
total = rs.RecordCount
mypagesize = rs.pagesize
rs.absolutepage = page
为了更加明显地显示出速度,我把每页显示的留言数量加大到150(事实上当然不会设置这么大的数值啦)。至于我机器的配置,就省略不说了,因为主要是速度对比。
发现,执行的时候时间分别如下:
第一种:稳定于0.1953125 秒到0.2109375 秒之间,平均值大概是:0.20秒
第二种:稳定于0.1716875 秒到0.1857秒之间,平均值大概是:0.177秒
第三种:稳定于0.4375 秒到0.4632秒之间,平均值大概是:0.45秒
但是,当读取的记录条数为20的时候,结果如下:
发现,执行的时候时间分别如下:
第一种:稳定于.0390625 秒到.0546875 秒之间,平均值大概是:0.045秒
第二种:稳定于0.046875 秒到.0546875 秒之间,平均值大概是:0.050秒
第三种:稳定于.09375 秒到0.1015625 秒之间,平均值大概是:0.97秒
在这样看来,似乎conn.execute和command.execute这两种方式似乎差别并不大,
而前者的调用方式好像更加简单一点。
同时,在这里可以看出分页的存储过程速度确实比recordset的分页速度要快很多。
猜你喜欢
- 单元测试长久以来是热门话题,本文不会讨论需不需要写单测,可以看看参考资料1,我个人认为写好单测应该是每个优秀开发者必备的技能,关于写单测
- 奥地利符号计算研究所(Research Institute for Symbolic Computation,简称RISC)的Christo
- 下列语句部分是Mssql语句,不可以在access中使用。SQL语句分类:DDL—数据定义语言(CREATE,ALTER,DROP,DECL
- 在迭代中enumerate比range更能灵活,一般情况下尽量用erumerate,下面举例说明:先来看range的使用:city_list
- 本文实例讲述了Python嵌套函数,作用域与偏函数用法。分享给大家供大家参考,具体如下:内嵌函数(嵌套函数):意思:在函数里面再定义一个新的
- Css Reset是什么? 有些同行叫 "css复位",有些可能叫 "默认css".....相信看完
- 我们在flask的学习中,会难免遇到多对多表的查询,今天我也遇到了这个问题。那么我想了好久。也没有想到一个解决的办法,试了几种方法,可能是思
- 1. 如何停止任务?我们可以通过 asyncio.Task 对象上的 cancel() 方法取消任务。如果任务被取消,cancel() 方法
- 前言 随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。平时数据分析各种分布的数据构造也
- 这篇文章主要介绍了python如何基于redis实现ip代理池,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
- 前言:前几天上课闲着没事写了一个python敲击木鱼积累功德的小项目,当时纯粹就是写着玩,回顾一下鼠标事件的东西还记不记得,发现这个博客的点
- ECMAScript 5.1规范§15.4.4.4 中说到:concat函数是有意设计成通用的;它并不要求它的this值必须得是个Array
- div和span、relative和absolute、display和visibility是很容易混淆和弄错的HTML标签与CSS属性,简单
- 通过ip2region解析IP获得地域信息目标,从给的读取给的ip地址文件解析出ip地域名并输出CSV文件,我选用的是开源ip2region
- 使用xlwt读取txt文件内容,并且写入到excel中,代码如下,已经加了注释。代码简单,具体代码如下:# coding=utf-8'
- 作为一位不懂代码的业余网页制 * 好者,常常羡慕专业程序人员在浏览器中编制出的效果超酷的一些多媒体作品。唉,无奈程序那东东,酶涩南学,非一日之
- 问题:导入数据时是否需要禁用索引?解答:在使用load data导入数据时,如果导入的表是MyISAM的,对于空表,MySQL数据库会把所有
- 1、PHP加密解密PHP加密和解密函数可以用来加密一些有用的字符串存放在数据库里,并且通过可逆解密字符串,该函数使用了base64和MD5加
- Python 列表理解及使用方法列表是最常用的Python最常用的数据类型,它和其它序列一样,可以进行包括索引,切片,加,乘,检查成员的操作
- 一、numpy是什么?扩展库numpy是Python支持科学计算的重要扩展库,是数据分析和科学计算领域如scipy、pandas、sklea