数据库Table1里有数据约20万条,已建立按时间字段StartTime的降序排列的索引
我现在要查询StartTime排在 100,000 和 100,010 之间的数据,请问应如何查询?尝试过以下方法:
先 Select top 1000,010 * from [Table1] order by [StartTime] desc
然后把游标往下移动 99999次再往下读10条
结果内存缓冲区不足,出现错误请问该如何解决?
我现在要查询StartTime排在 100,000 和 100,010 之间的数据,请问应如何查询?尝试过以下方法:
先 Select top 1000,010 * from [Table1] order by [StartTime] desc
然后把游标往下移动 99999次再往下读10条
结果内存缓冲区不足,出现错误请问该如何解决?
(
select top 100010 * from table1 order by [StartTime] desc
) t
order by StartTimeselect top 11 * from
(
select top 100010 * from table1 order by [StartTime]
) t
order by StartTime desc
(
select *,row_number() over(order by id) rownumber
from tab
)
select * from leno where rownumber between 100000 and 100010
with leno as
(
select *,row_number() over(order by StartTime desc) rownumber
from tab
)
select * from leno where rownumber between 100000 and 100010
可以将StartTime 建聚集索引
top 10010 会占用过多的内存缓冲区3楼的方法会占用多少内存?
select top 11 * from
(
select top 100010 * from table1 order by [StartTime]
) t
order by StartTime desc
10010算什么多,很快的