用標準的SQL語句實現查詢記錄分頁和repeater實現分頁在性能和效率上有啥子區別?問題補充: 標準SQL語句查詢分頁 SELECT * FROM t_table t1 WHERE (SELECT count(*) FROM t_table t2 WHERE t2.id < t1.id ) >= 10 AND (SELECT count(*) FROM t_table t2 WHERE t2.id < t1.id ) < 20 用repeater進行擴展分頁的話在查詢數據庫的時候好像是查詢返回所有記錄,引用分頁的類對返回的數據表格進行數據分頁,不知道對repeater進行擴展分頁的數據訪問形式理解是否正確, 我的意思是對repeater進行擴展分頁時的數據訪問方式和標準SQL語句查詢分頁的數據訪問方式的性能和效率的分別 再次的補充: ????????????? repeater本身沒有分頁的功能,經過擴展自其他控件的分頁類來實現的分頁,問題就出在擴展上,所以在repeater呈現數據的時候是和datagrid的性質差不多了。
2 回答

千巷貓影
TA貢獻1829條經驗 獲得超7個贊
repeater只是個數據顯示的控件,不包含分頁的任何邏輯.如,你給他10條數據,他就顯示10條. sql分頁,指的是通過存儲過程或者SQL句子在數據庫查詢返回必要的數據,然后交給顯示控件(如:repeater,datalist)把數據顯示出來.這種的性能最好. 我覺得你只所以會有這種想法,可能你是用datagrid來"分過頁",datagrid只是把所有數據都讀出來,然后自我限制顯示的頁碼和頁數就可以實現分頁顯示了,但這種顯示是要把所有符合的數據都讀了出來,如果你要顯示的數據有100W條,哪么他就會把這100W條讀出來,性能可想而知了.. 推薦使用SQL分頁+repeater顯示數據

蕭十郎
TA貢獻1815條經驗 獲得超13個贊
這個比較不恰當~~Repeater只是一個展示控件并不含有數據訪問的邏輯, 所以沒有可比性. 所謂的Repeater分頁也只是對它作了一些擴展和封裝而已,說到底還是得自己訪問數據, 都一樣.
- 2 回答
- 0 關注
- 370 瀏覽
添加回答
舉報
0/150
提交
取消