我有一個大約有10,000行的DataTable。我應該在哪裏存儲數據表[ViewState/Session/Cache]
我想存儲這個數據一次爲aspx頁面。當用戶在頁面中選擇不同選項時,將從已存儲的DataTable中進一步選擇數據。
我試過使用ViewState,但只要數據增長超過100行,性能就會下降。
我應該在哪裏存儲這些數據?
我有一個大約有10,000行的DataTable。我應該在哪裏存儲數據表[ViewState/Session/Cache]
我想存儲這個數據一次爲aspx頁面。當用戶在頁面中選擇不同選項時,將從已存儲的DataTable中進一步選擇數據。
我試過使用ViewState,但只要數據增長超過100行,性能就會下降。
我應該在哪裏存儲這些數據?
數據是基於每個用戶還是全部用戶?如果它是全局的,請使用緩存。如果它是用戶特定的,傳統的答案是使用會話,但這是潛在的內存使用問題等待發生。您可能需要根據需要重新查詢數據庫。
ViewState具有更具體的用途,並且不適合大量數據,因爲所有數據均在網頁中的客戶端和服務器之間發送。
我敢打賭,你一定不能一起顯示所有數據。
爲什麼你不使用分頁和加載只需要的數據集,然後繼續添加到會話對象,先取50個記錄顯示它,然後在下一頁點擊獲取下一組50個記錄。
您可以使用SP來實現此目的http://www.mssqltips.com/sqlservertip/1699/sql-server-stored-procedures-to-page-large-tables-or-queries/