本人模拟了论坛帖子的分页,数据量100W行,根据时间降序排序(由于时间是经常需要更新的,所以建立了非聚集索引),每页 10 条,前面的1600页,运行情况很好,时间100毫秒以下,1700页开始慢下来了,1700页至10W页时间差不多,也就几十到几百毫秒区别,大家看数据:页数   耗时(毫秒)
1      0--16
10     0--16
100    16
1000   62
1600   1001700   1500
1W     1600
2W     1625
3W     1680
4W     1730
5W     1780
6W     1830
7W     1890
8W     1940
9W     1985
10W    2060大家说说这个时间慢不慢啊????有那些地方需要改进????谢谢你的建议!!!存储过程:
CREATE PROCEDURE ListBoardPage_SP@boardid int,
@page int--传入的页数ASSET NoCount ONdeclare @datetime datetime --输出TOP N 那个datetime
declare @pages int
declare @sql nvarchar(255)
set @pages = (@page - 1) * 10 + 1--令pages = (传入的page-1) *每页数 -1set  @sql = 'select top ' + cast(@pages as nvarchar(10)) + ' @datetime = LastPostTime from Dv_Topic where BoardID =  '  +cast(@boardid as nvarchar(10)) + 'order by LastPostTime desc'exec sp_executeSQL @sql,N'@datetime datetime output',@datetime output
select top 10 * from Dv_Topic where boardid = @boardid and LastPostTime <= @datetime order by LastPostTime desc
GO