Asp.net 改进gridview的分页性能?
我在一个小项目上工作,该项目要求gridview分页最多10万条记录。我可以通过哪些方式提高绩效。我试着使用带有临时表的sql server进行分页,但仍然有点慢Asp.net 改进gridview的分页性能?,asp.net,gridview,pagination,Asp.net,Gridview,Pagination,我在一个小项目上工作,该项目要求gridview分页最多10万条记录。我可以通过哪些方式提高绩效。我试着使用带有临时表的sql server进行分页,但仍然有点慢 有什么想法吗?您可以添加一个只返回一系列行的存储过程。让页面跟踪您当前所在的页面,并仅请求下一个x行或前一个x行 例如: @firstRow int, @lastRow int select ROW_NUMBER() over (order by [MyField]) as rowNum, * from [MyTable]
有什么想法吗?您可以添加一个只返回一系列行的存储过程。让页面跟踪您当前所在的页面,并仅请求下一个x行或前一个x行 例如:
@firstRow int,
@lastRow int
select ROW_NUMBER() over (order by [MyField]) as rowNum, *
from [MyTable]
where rowNum between @firstRow and @lastRow
我不确定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行。
您可以通过在查询中的行数函数之前添加select TOP[LastRow]来进一步改进它
从中选择*
按[MyField]选择订单上的行号作为行号,*
从[MyTable]
如表所示
其中RowNum=10一定很喜欢这个ROW_NUMBER函数。但是,由于按顺序排列,ROW_NUMBER在上层记录中的速度会很慢。例如,100000和100010之间的速度比90000和900000100之间的速度慢。你的想法是什么?