以下是我以前的ASP分页程序:
page=cint(request.querystring("page"))sqll="select * from hotel_main order by id desc"
set rs=server.createobject("adodb.recordset")
rs.open sqll,conn,1,1rs.pagesize=12
if page<1 then
   page=1
elseif page>rs.pagecount then
   page=rs.pagecount
end if
rs.AbsolutePage = page
  
for i=1 to rs.pagesize
if rs.eof then exit for response.write rs("id")&rs("username")  '循环输出IDrs.movenext
next=======下面是分页=========<a href=?page=1>首页</a> 
<a href=?page=<%=page-1%>>上一页</a>
<a href=?page=<%=page+1%>>下一页</a> 
<a href=?page=<%= rs.pagecount %>>最后一页</a>问题:hotel_main 表里面有几W条数据。一开始只有几千条数据时,可以很快显示..但是现在量越来越大了..显示都要10几秒..谁能帮我写一下sql存储过程啊???求助高手相助...

解决方案 »

  1.   


    create proc proc_ahweb236 (@pageMa int)
    as
    select top  12 * from ahweb236 where not  exists 
    (select top (12*@pageMa-1) * from ahweb236 order by id ) order by id/*
    12记录为一页*/
      

  2.   


    ---修改
    create proc proc_ahweb236 (@pageMa int)
    as
    declare @i varchar(10)
    set @i = cast(12*(@pageMa-1) as varchar)
    declare @sql varchar(100)select @sql ='select top  12 * from linsy008 where not  exists (select top ' +@i+'   id  from linsy008 order by id) 'exec (@sql )