- - PR -
ページングについて
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-03-17 18:55
こんにちは。
現在C#でWEBアプリの開発をしています。 DataGridのページング機能を使って、 データの表示をしたいのですが、 ページが変わるたびに、全データを取得しBindする為、 何百件ものデータを表示するとなると、パフォーマンスがとても悪くなってしまいます。 Page_Load時などに、DataSetとして一度に必要なデータだけ持って来て、 ページを変えるときはその中からそのページ分だけのデータを取得する、 というようなことはできますか? AllowCustomPagingプロパティを使ったりするようですが、 イマイチよくわかりません。 過去ログを見ると、SQL文で必要なデータのみ持ってくるやり方はあったのですが、 SQL文を使わずに行いたいのです。 DataGridではなくDataListで実現できるやり方でも構いません。 どなたか教えて下さい。 よろしくお願いします。 | ||||||||||||
|
投稿日時: 2003-03-17 20:18
こんにちは。
セッション、キャッシュを利用されるのが良いかと。。。以下のページを参考にしてみてください。 http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconcacheapis.asp http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vbcon/html/vbcondecidingondataaccessstrategy.asp
データリーダーを使用するやり方になると思いますが、確かにデータが軽くなるので、パフォーマンスを考慮する上では、一番理想的かなと思います。SQL文は、ストアド等でうまく記述すれば、スマートに行くと思いますが・・・しかし、ページングや、ソートが絡んだりすると、コードが複雑になり、かなりややこしくなりますね。
DetaGridでも、DataListでも、あまり変わりないと思います。基本的には、取得したデータを表示させているだけですので。 | ||||||||||||
|
投稿日時: 2003-03-17 20:37
potetoさん!ありがとうございます。
もし、実際のソースなどがあれば公開して頂けませんでしょうか・・・。 | ||||||||||||
|
投稿日時: 2003-03-18 09:49
こんにちは。
実際のソースは、見せられるようなものではございません。まして、自分もまだまだ勉強中の身ですので。。。 ということで、以下のMSDNのサンプルを見てみてください。 http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpqstart/html/cpsmpnetsamples-aspnetcaching.asp それと、キャッシュやセッションは、結局は、サーバもしくはクライアント側のメモリーを使用することになりますので、色々と注意が必要になります。設定も様々ですので、MSDNや書籍等で詳しく勉強してみてください。自分も勉強中・・・ 中途半端なご解答でスミマセン。 |
1