Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Improving paging performance for gridview?

I am working on a small project that requires gridview paging for upto 100k records. what are the ways i can improve the performance. I tried to page using sql server with Temp table but it still is a bit on the slower side.

any idea?

like image 487
ksk Avatar asked Dec 30 '22 06:12

ksk


2 Answers

You could add a stored proc that will return only a range of rows. Have the page keep track of what the current page you are on is, and request only the next x or previous x rows.

for example:

@firstRow   int,
@lastRow    int
select ROW_NUMBER() over (order by [MyField]) as rowNum, * 
from [MyTable] 
where rowNum between @firstRow and @lastRow 
like image 91
Tj Kellie Avatar answered Jan 13 '23 14:01

Tj Kellie


Not sure Tj Kellie's idea will work. Here's an improvement:

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

Will return rows 10 to 20. You can improve it further by adding select TOP [LastRow] before the ROW_NUMBER() function

like image 45
Faruz Avatar answered Jan 13 '23 16:01

Faruz