2

私はGenericListsの大ファンであり、私が取り組んでいるプロジェクトでそれらを使用しています。しかし、私は現在、外部の関係者によって書かれた別のプロジェクトに取り組んでおり、ページの読み込みが非常に遅いことがわかりました。場合によっては、ページの読み込みに2秒強かかることがあります。

最初の調査では、ページの大部分に1000行を超えるデータを格納している多数のDataTableが散らばっています。DataTable列を宣言して設定すると、オーバーヘッドが発生するのではないかと思いました。

ここで、汎用リスト(リスト)を使用し、LINQを使用して必要なデータをフィルター処理した場合に、パフォーマンスラグが減少する可能性があるかどうかについて質問しています。

ページの読み込みが遅くなる原因となる他の問題がある可能性があることは理解していますが、DataTablesを介して大量のデータが操作されているのを見ると、少しやり過ぎのように見えました。

4

1 に答える 1

2

それぞれが数千行のオブジェクトが複数 DataTableある場合、それらは各ページフェッチで入力されますか?もしそうなら、私はそれが時間がかかることに驚いていません-そして、ボトルネックがいくつかのクエリで大量のデータをフェッチすることを期待するので、代わりにリストを使用するだけでは役に立ちません。を作成するオーバーヘッドはDataTable、IMOではそれほど重要ではない可能性があります。(私は一般的にリストなども使用することを好みますが、パフォーマンスよりもクリーンさの理由からです。)

もちろん、推測するのではなく、実際に遅いページをプロファイリングして、ボトルネックがどこにあるかを見つける必要があります。これがMVCプロジェクトの場合は、MiniProfilerをご覧ください。

于 2012-04-12T09:08:27.647 に答える