提高gridview的分页性能?

时间:2010-01-06 06:03:06

标签: asp.net gridview pagination

我正在开发一个小项目,需要对最多100k的记录进行gridview分页。我有什么方法可以改善表现。我尝试使用带有Temp表的sql server进行页面调整,但它仍然有点慢。

任何想法?

3 个答案:

答案 0 :(得分:9)

您可以添加一个只返回一系列行的存储过程。让页面跟踪您当前页面的内容,并仅请求下一个x或前一个x行。

例如:

@firstRow   int,
@lastRow    int
select ROW_NUMBER() over (order by [MyField]) as rowNum, * 
from [MyTable] 
where rowNum between @firstRow and @lastRow 

答案 1 :(得分:1)

不确定Tj Kellie的想法是否奏效。这是一个改进:

select * from
(
select ROW_NUMBER() over (order by [MyField]) as rowNum, * 
from [MyTable] 
) 
as TableWithRows
Where Row<=20 and Row>=10

将返回第10行到第20行。 您可以通过在ROW_NUMBER()函数

之前添加选择TOP [LastRow]来进一步改进它

答案 2 :(得分:0)

查询中的更正 选择*来自 ( 选择ROW_NUMBER()结束(按[MyField]排序)为rowNum,* 来自[MyTable] ) 如TableWithRows 其中RowNum&lt; = 20且RowNum&gt; = 10