DataGrid內建分頁技術原理
DataGrid內建分頁技術很容易實現
但數據量很大時
它的方便性是以犧牲性能為代價的
如果一個用戶只要求
個頁面中每頁顯示
條記錄的第
頁的結果集
服務器只需要發送第
-
行的數據即可
而不是
-
行的完全數據
默認的傳送方式如圖
所示
圖
DataGrid默認傳送方式
從圖
中可以看出
DataGrid的內建分頁方法效率不高
每次請求都必須把整個查詢結果發送給Web服務器
Web服務器再把數據分成相應的頁面
利用DataGrid的內建的分頁方法盡管是很簡單的
但是
由於Web應用的無序性特征
一個用戶每次從一個頁面轉向另外一個頁面時
DataGrid對象都被銷毀並重新創建
這就意味著數據庫服務器每次都必須發送全部的結果集
自定義分頁技術
那麼如何通過自定義的分頁方法來實現快速處理大量數據的結果集呢?
它比DataGrid的默認分頁方法更加快速有效
因為每次請求不需要把全部的數據結果都發送到Web服務器
相反
它只需要發送每個頁面需要的那些數據集
自定義的分頁方法只返回所要檢索的那些結果集
如圖
所示
圖
自定義分頁的傳送方式
從圖
中可以看到
數據庫每次只需要返回所要顯示的數據記錄
在ASP
NET頁面中執行SQL命令的方法可以是直接執行也可以先將SQL命令封裝在存儲過程中
然後再頁面中執行該存儲過程
執行存儲過程比直接執行SQL命令稍微復雜一些
但能顯著提高數據庫驅動的Web站點的性能
每次從ASP
NET頁面直接執行SQL命令時
都需要SQL Server對其進行解析
編譯和優化
而存儲過程只需要進行一次解析
編譯和優化
而這裡自定義的分頁方法就是使用存儲過程來做分頁的工作
而不是由Web服務器來做
[] [] [] []
From:http://tw.wingwit.com/Article/program/net/201311/14925.html