我正在處理一個小型項目,需要gridview分頁達到100k記錄。我有什麼方法可以改善表現。我嘗試使用Temp表來使用sql server,但它仍然有點慢。改善gridview的分頁性能?
有什麼想法嗎?
我正在處理一個小型項目,需要gridview分頁達到100k記錄。我有什麼方法可以改善表現。我嘗試使用Temp表來使用sql server,但它仍然有點慢。改善gridview的分頁性能?
有什麼想法嗎?
您可以添加一個存儲過程,該過程只返回一定範圍的行。讓頁面跟蹤當前頁面的內容,並只請求下一個x或前一個x行。
例如:
@firstRow int,
@lastRow int
select ROW_NUMBER() over (order by [MyField]) as rowNum, *
from [MyTable]
where rowNum between @firstRow and @lastRow
不知道TJ凱利的想法會工作。下面是一個改進:
select * from
(
select ROW_NUMBER() over (order by [MyField]) as rowNum, *
from [MyTable]
)
as TableWithRows
Where Row<=20 and Row>=10
將返回行10到20 您可以通過從
修正查詢 選擇*將選擇TOP [LASTROW]前ROW_NUMBER()函數進一步提高它( 選擇ROW_NUMBER()以上(由[MyField的]順序)的rowNum,* 從[MyTable的] ) 作爲TableWithRows 凡ROWNUM < = 20和ROWNUM> = 10
得愛ROW_NUMBER()函數。 – ProfK 2010-01-06 06:23:20
但是,由於按順序排列,Row_Number()在較高記錄中會很慢。例如(在100000和100010之間)比(在90000和90000010之間)慢。你有什麼想法? – 2012-02-06 17:52:41