请教有没有更好的查询方法?

假如,我有一张表1百万条记录,
我要查询第50万到500020的记录!如何查询
select top 20 * from T_TotalDate where id not in 
(select top 500000 id from T_TotalDate) order by id desc

感觉这种写法太慢了!

作者: wenfuchun   发布时间: 2011-06-13

SQL code

select top 20 * from (select top 500020 * from T_TotalDate order by id) t order by id desc

作者: X_0   发布时间: 2011-06-13

SQL code
--第50万到500020的记录,应该是21条记录吧
select top 21 * from (select top 500020 * from T_TotalDate order by id) t order by id desc

作者: cd731107   发布时间: 2011-06-13

这样的分页效率都不会太高 如果是2005以上 可以考虑用row_number

作者: fredrickhu   发布时间: 2011-06-13

引用 3 楼 fredrickhu 的回复:

这样的分页效率都不会太高 如果是2005以上 可以考虑用row_number
用row_number

作者: xuexiaodong2009   发布时间: 2011-06-13

SQL2005分页查询 
http://blog.csdn.net/xuexiaodong2009/archive/2011/04/20/6336638.aspx

作者: xuexiaodong2009   发布时间: 2011-06-13

从楼上学习了

作者: xyc880813   发布时间: 2011-06-13