ASP中幾種分頁顯示的比較

發表于:2007-09-07來源:作者:點擊數: 標簽:
下面通過對比來看看幾種方式的用時對比。 一,使用存儲過程分頁,這種情況又分為兩種方式: 第一種,使用command對象,如下: Set Cmd=server.CreateObject("Adodb.Command") Cmd.ActiveConnection=conn Cmd.CommandText="ycuu_gb_getmsg" Cmd.CommandType=4
  下面通過對比來看看幾種方式的用時對比?! ?

  一,使用存儲過程分頁,這種情況又分為兩種方式:  

  第一種,使用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 "pageamp;", "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的分頁速度要快很多?! ?

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97