2011-03-23 67 views
0

問: 我想問一下:尋呼。尋呼和性能

是在.net中的分頁功能使任何性能差異,我的意思是,有時我有大量數據,如果我想在gridview上綁定這些數據,例如「分頁」,例如count 10,帶上10條記錄和10等或相同,如果我不使用分頁,它將首先帶來所有數據,然後根據分頁計數查看它們。如果分頁和性能之間沒有關係,那麼最佳做法是什麼案件 ?。

回答

3

它取決於如何實現分頁。某些處理分頁的服務器控件的早期版本,將整個數據集讀入內存,然後選擇可用記錄的子集。這非常低效,因爲您已經承擔了從數據庫移動數據的傳輸成本以及存儲它的內存成本。

你可以做的是在數據庫級執行分頁,傳遞頁碼和要檢索的項目數,這樣你只能讀取源數據的子集。它將更加高效。唯一的缺點是,您可能需要在數據庫中另外添加一個查詢來確定項目的總數,以便您可以正確進行頁面。總而言之,我認爲「源頭分頁」始終是首選解決方案。

+0

感謝了很多,怎麼樣在.NET 3.5分頁的服務器控件? – 2011-03-23 08:12:31

+1

啓用LINQ的O/RM工具(如LINQ to SQL和Entity Framework)可以提供很多幫助,因爲分頁非常簡單,只需添加'.skip(page * pageSize).Take(pageSize)'到一個查詢('IQueryable ' )。 – Steven 2011-03-23 08:13:04

+0

和請你能澄清喲意味着什麼「源頭尋呼」? – 2011-03-23 08:14:20