日期:2014-05-18  浏览次数:20411 次

大家帮忙看看这个存储过程能否用于百万数据级的翻页?
大家帮忙看看这个存储过程能否用于百万数据级的翻页?
CREATE   PROCEDURE   zkx_Web_TelesellAdmin_getMsgList
                                                                                  (@tblTable   nvarchar(200),   --要操作的数据表
                                                                                    @pagesize   int,         --每页显示页数
                                                                                    @pageindex   int,     --当前页码
                                                                                    @isFirst   bit,           --是否是第一页       为   0   显示第一页内容         为   1   显示翻页内容
                                                                                    @doCount   bit     --操作类型     0   表示获取记录总数         1   表示获取记录信息
                                                                                    )
  AS
set   nocount   on
        if(@doCount=0)
                exec( 'select   count(ID)   from   '+@tblTable)  
        else
                declare   @sql   Nvarchar(1000)
                if   @isFirst=0
                    set   @sql= 'select   top   '+ltrim(@pagesize)+ '   *   from   '+@tblTable+ '   order   by   ID   desc '
                else
                            set   @sql= 'select   top   '+ltrim(@pagesize)+ '   *   from   '+@tblTable+ '   where   (ID   not   in(select   top   '+ltrim((@pageindex-1)

                *@pagesize)+ '   ID   from   '+@tblTable+ '   order &nb