テーブルアダプタ(型付きデータセット)の例を見てみましょう
データセットをセッションに保存しています。しかし、テーブルアダプタに何が良いのかわかりません。
一般に、オブジェクトの作成は、セッションの保存と取得に比べてパフォーマンスが低下しますか?
テーブルアダプタ(型付きデータセット)の例を見てみましょう
データセットをセッションに保存しています。しかし、テーブルアダプタに何が良いのかわかりません。
一般に、オブジェクトの作成は、セッションの保存と取得に比べてパフォーマンスが低下しますか?
なぜそれをセッションに保存するのかわかりませんが、RememberSessionはWeb開発で最も高価なリソースです。
それは常にあなたの要件に依存します。
データセット内のデータが少なく、データベースを頻繁に呼び出して同じデータを何度も取得し、セッションに保存する方が良い場合。ただし、すべてのユーザーのデータが同じである場合は、キャッシュを使用する必要があります。セッションより。
ただし、データセットのデータが大きい場合は、データを保存するとアプリケーションの速度が低下するため、データベースを呼び出す方が適切です。つまり、パフォーマンスが大幅に低下する可能性があります。
注:これは常にデータサイズとデータベースからデータをクエリする頻度によって異なります。
2つの選択肢は、異なるリソースを使用します。
オブジェクトの新しいインスタンスを作成するには時間がかかります。インスタンスをセッションに保存すると、メモリが使用されます。
必要になるたびに新しいインスタンスを作成すると、それを使用している間だけメモリを消費します。それをセッションに保存すると、常にメモリを消費します。セッションから削除しないと、ユーザーが離れた後もしばらくの間メモリを消費します。
テーブルアダプタをデータベースに接続したままセッション中に保持することを考えている場合、データベースへの接続も使い果たされます。これは、さらに制限されたリソースです。これにより、サイトが処理できるユーザーの数が大幅に制限されます。
一般に、実際に状態を持っているもの、つまり、保持する必要のあるデータを実際に持っているものだけをセッションに保存する必要があります。ほとんどのオブジェクトは作成にほとんど時間がかからないため、オブジェクトを再度作成しないようにするためだけにオブジェクトを保持する意味はありません。
それはすべて、あなたが何をしたいのか、そしてあなたが持っているデータの量に依存します。
私によると、セッションはデータセットを保存するのに適したオプションではありません。データセットが占有されるとメモリが使用できなくなり、セッションの有効期限が切れるとnullのエラーがスローされる可能性があるなど、セッションにはいくつかの制限があります。更新する必要があります。時々。
データを保存するとアプリケーションの速度が低下するため、データベースを呼び出すために大きなデータを含むデータセットが必要な場合は、パフォーマンスが大幅に低下する可能性があります。SQL Serverのインデックスオプションを使用して、データをすばやく返すことができます。