C#と.NET 2.0で開発された大量のファイルを処理するWindowsサービスのパフォーマンスを向上させようとしています。私は毎秒多くのファイルを処理したい。データベースまたはメモリからのクエリですか?どちらが速いの?
このプロセスでは、各ファイルに対して、サービスはデータベースクエリを実行してシステムの一部のパラメータを取得します。
これらのパラメータは毎年変わります。これらのパラメータをシングルトンとしてロードし、このシングルトンを定期的にリフレッシュすると、パフォーマンスが向上すると考えています。処理される各ファイルのデータベースクエリを作成する代わりに、メモリからパラメータを取得します。
シナリオを完了するには:Windows Server 2008 R2 64ビットを使用していますが、SQL Server 2008はデータベースで、C#および.NET 2.0は既に説明しました。
私のアプローチは正しいですか?あなたならどうしますか?
ありがとうございます!
右の音...他に何が答えるか分からない? :P – FarligOpptreden
私には良いアイデアのように聞こえます。キャッシングシステムは効率的です。 – ken2k
私はそれがあなたが保存する必要がどのくらいのものに依存すると思う。少量のデータであれば、それをメモリに保存してください。メモリは常に高速で、次にハードディスクが読み込まれます。 SQL Serverはバッファリングされた状態を維持するうえで優れた作業を行いますが、すべてを自分で保管すると常にメモリに格納されます。 どれくらいのトレードオフが得られるかわかりません。 .net EQATECプロファイラ(無料版)を使用して、クエリをメモリ読み込みと比較します。 – JeremyK