以下为从大数据量表检索分页数据的有效方法 测试时,先从LargeTable表选出1000条记录分页呈现
--TIME_SEGMENT为数据表字段
declare @pagesize int--每页大小
declare @currentpage int--当前页
set @pagesize=2
set @currentpage=1
SELECT TOP (@pagesize) *
FROM (
SELECT ROW_NUMBER() OVER (ORDER BY h_job_id) AS id,COUNT(*) OVER() AS TOTAL,*
FROM h_job
where name='周一'
) as t
WHERE t.id > (@pagesize*(@currentpage-1))
order by t.id;
测试结果,百万级的没有索引的表,为5s左右.
sql ROW_NUMBER() 排序函数请参考一下网址
http://www.cnblogs.com/85538649/archive/2011/08/13/2137277.html