建議使用store procedure做db server端的paging (代入pageIndex跟pageSize)
如果有需要把資料下到用戶端
在資料量大的時候也不太適合透過http 因為會timeout
純做view的話 更沒有必要讓上萬筆的資料每次都在server端跟client端往來
※ 引述《ak47veinte (火柴盒20)》之銘言:
: ※ 引述《ray521 (一年)》之銘言:
: : 各位好
: : 我先描述一下我的情況
: : 有一段SQL SELECT JOIN 數個TABLE
: : 查詢的結果會有萬筆資料
: : 我的作法是將結果放置DataSet
: : 讓DataGrid DataBind後
: : 再將DataSet放至ViewState中
: : 然後使用DataGrid 的PageIndexChanged
: : 當PageIndexChanged發生時,
: : 直接從ViewState取出資料,不用再查詢一次
: : 我這樣做的原因是原本的SELECT SQL
: : 執行時大概會花10s-20s
: : 如果每次PageIndexChanged都重新查詢
: : 因為資料很多,導至ViewState過大
: : 所以上來問問
: : 有沒有什麼更好的實現方式或作法呢?
: DataAdapter.Fill()裡頭可以設定要抓的資料筆數
: 試看看吧
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.104.128.175