好像是这个的分页效率比较高.分页的效率跟表结构设计也有关系
比如说,你的bh是否主键,是否聚集索引,等等所以最好的方法还是你自己测试一下.

解决方案 »

  1.   

    你上面的两种分页措施实现的功能是不同的:
    1、第一种分页是系统存储的自然分页,没有按照那个字段排序后再分页,
       第二种是按照bh排序后的实现的分页;
    2、第一种分页返回了所有的结果集,
       第二种仅仅返回了bh。
    如果仅仅实现一次分页,第二种的效率要高,但是如果实现很多次的分页,
    即:
    set @i = 1
    while (@i < 1000) begin
    exec sp_cursorfetch @P1, 16, @filterCount, @pageSize 
    set @filterCount = @filterCount + @pageSize
    set @i = @i + 1
    end

    set @i = 1
    while (@i < 1000) begin
    --当然要写成动态语句
    select top 10 bh from table where 
    bh not in (select top 10 * i bh from table order by bh) order by bh
    set @i = @i + 1
    end
    比较起来,好像第一种的效率要高。如果实现同样的功能,通常情况下游标的效率要低一些,最典型的例子是:
    truncate table table1

    delete from table1。
      

  2.   

    我在联机帮助里怎么查不到这三个存储过程的帮助啊?那些参数什么意思?