效率最快的语句怎么写??select top 10 * from tab where id>=90000 and id<900011
ID是主键,速度不会慢 否则,怎么写都是慢 select top 每页显示的记录数 * from topic where id not in (select top (当前的页数-1)×每页显示的记录数 id from topic order by id desc) order by id desc
with temptbl as ( SELECT ROW_NUMBER() OVER (ORDER BY id desc)AS Row, ... ) SELECT * from temptbl where Row between @startIndex and @endIndex select top 10 * from tab where id>=90000 and id<900011
select * from tab where id BETWEEN 90000 and 900010 up 如果有主键ID(从1开始递增),用1楼的方法 如果没有主键ID,你的数据库是SQLSERVER2005或2008 用下面的语句
SELECT A.* from ( SELECT TOP 90010 *, ROW_NUMBER() OVER ( ORDER BY 表.主键字段 DESC ) AS RowNumber from 表 WHERE 条件 ) A WHERE A.RowNumber BETWEEN 90001 AND 90010 ORDER BY A.RowNumber 如果你有RowNumber的话,当然使用它。 SQL写的越复杂越慢 select top 1