2009-04-23 66 views
1

我創建了一個顯示大量數據的ASP.Net網站。數據通過數據訪問層提供給我。從我得到的數據中,我構建了大型數據表,然後使用gridview或動態創建的Web控件顯示這些數據表。ASP.Net數據驅動網站效率

我發現的問題是,當大量數據傳遞給它時,網站很慢。我讀過數據讀取器是要走的路,但由於需要使用數據訪問層,因此無法直接從SQL表使用數據讀取器。

我也沒有部分填充數據表的選項,因爲我需要將很多排序方法應用於數據以顯示我需要的內容。

關於如何加快數據表的建議?或者可能使用效率更高的其他方法?

回答

0

您是否完全確定瓶頸在Web應用程序中?

我會做的第一件事就是猜測在慢頁面上執行的最長SQL查詢是什麼,然後看看它在查詢瀏覽器中的運行方式。

如果速度很慢,請優化它。

0

根據「大」的定義,將「大量」數據拉入Web應用程序並進行排序/過濾總是會很慢。如果您可以在數據庫服務器上應用任何排序/篩選,然後再將數據提交到您的Web應用程序,這會加快速度。你說你沒有這個選擇,但是排序是數據庫服務器的功能,你確定你不能做這個工作嗎?

0

您要做的第一件事就是精確地確定進程中哪些部分進展緩慢。它可能不是你認爲的地方。執行代碼分析或不同部分的計時以確定在請求期間每段代碼佔用多少時間。在我們的例子中,我們發現數據層(執行讀取器,填充對象模型)非常快(有幾個例外由數據庫中的索引處理),而我們在客戶端有一些非常慢的javascript 。

因此,從測量開始,然後決定在哪裏進行優化。

+0

任何想法,我可以得到一個很好的代碼分析工具?最好免費:) – 2009-04-23 10:55:20

1

既然你是「..建立大型數據表,然後使用gridview或動態創建的網絡控件顯示這些」,網絡可能是一個瓶頸。請參閱類似SO question的答案,這可能會有所幫助。