1。我个人认为速度最快的分页方法是:
Select top 10 * from table where id>200
写成存储过程,上面的语句要拼一下sql语句,要获得最后大于的哪一个ID号
2。游标速度稍微慢点.只要你分页的时候不申明一个只向下游标,应该申明是一个动态的游标,速度比not in 不知要快好多.网上有人说比not in分页的效率都要低那是申明的只向下游标,我最喜欢这种.这种在实际编程中会很方便.
3。NOT IN分页,示例:
SELECT Top 10 * FROM Customers WHERE Customerid NOT IN (SELECT TOP 20 Customerid from Customers )
declare @SQLStr varchar(8000)
set @SQLStr='SELECT Top '+cast(@每页大小 as varchar)+' * FROM 表 WHERE 主键列 NOT IN (SELECT TOP '+cast(@每页大小*@第几页 as varchar)+' 主键列 from 表 )'
exec(@SQLStr)