菜鳥學堂: 
 如果用一般的select *  查詢sql數據庫,然后用recordset進行分頁的話,在返回結果很多的情況下將會是一個漫長的過程,而且很消耗內存.你可能會有感覺,用access也比sql快.
   其實我們可以只取出我們每頁需要顯示的記錄數,這樣的速度是驚人的,非常快.這里我們會用到聚集索引來快速確定我們需要取出的記錄數的位置.如下面:
  if p>1 then 'p為page頁數
    if n="next" then'下一頁
  sql="select top 26 * from song1 where  id  > "&pk&"  and contains(songtitle,'"&songname&"')"  'pk為當前頁的最大id數
    elseif n="prev" then'上一頁
  sql="select top 26 * from song1 where  id  < "&previd&"  and contains(songtitle,'"&songname&"') order by id desc"'previd最小id
    end if
else
  sql="select top 26 * from song1 where contains(songtitle,'"&songname&"')"'沒有指定page值,默認第一頁
end if
 這里用到了全文檢索,速度也是很快的,我在52萬記錄下測試,最快可以46ms(機器c1.7.  ddr 256m),感覺比較可以,我用like代碼模糊查詢頁測試過,在結果集很多的情況下比全文更快,但是如果結果很少(整個表只有那么幾條)將是漫長的過程,因為要對全表進行掃描!
  按上面的方法不能得出所查詢結果得總記錄數,這里我們可以用select count(*) 來獲取記錄總數,速度頁還過得去,不過感覺要慢一截,特別是記錄集很多得情況,不過這樣占用得內存很小得.
   以上是我最近搞sql查詢得心得.