5

ASP.net では、Gridview または DetailsView でページングを実行すると、Gridview が毎回データベースからすべての行をフェッチします。

データベースに 100 行が含まれており、Gridview でページ サイズが 1 ページあたり 10 レコードのページングを構成しているとします。次に、GridView はデータベースから特定の 10 行のみをフェッチする必要があります。

3 番目のページをクリックすると、行 21 ~ 30 のみがクエリされますが、すべての行がフェッチされ、残りの行は無視されます。これは単なるリソースの浪費です。

この問題の解決策を教えてください。

4

3 に答える 3

7

この最適化されたデータ フェッチを実装するには、(GridView ページングを使用するのではなく) カスタム ページングを実装する必要があります。また、SQL を使用して、ページに表示する行のみを取得する必要があります (すべてのデータではありません)。

次の関連リンクを参照してください。

Asp.net のカスタム ページング

GridView で大量のデータをページングする

ID範囲でテーブルから特定の行を取得する方法

SQL Server での大きなデータセットのページング

于 2010-07-29T05:20:04.640 に答える
2

Sql Server 2005 以降を使用している場合は、次の記事で説明されているように、ROW_NUMBER 関数を使用してデータベースをページングしてみてください。

SQL Server 2005 データベースを使用したページング レコード - ROW_NUMBER 関数

于 2010-07-29T05:24:31.843 に答える