|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
下面通过对比来看看几种方法的用时对比。 一,使用存储过程分页,这种情况又分为两种方法: 第一种,使用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的分页速度要快很多。 返回类别: 教程 上一教程: 用模板建立动态ASP页 下一教程: 用XSL.ASP编辑XML文档 您可以阅读与"ASP中几种分页显示的比较"相关的教程: · ASP中关于帖子分页显示的基本方式 · ASP中实现分页显示的七种武器 · 用ASP实现分页显示的具体讲解 · 2栏分页显示(附显示的形式前页,后页) · 在ASP中轻松实现记录集分页显示 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |