+5Mの静的レコードが配置されたデータベーステーブルがあります。単純な構造:(intの開始、intの終了、intの結果)。だから私は特定のINTを持っていて、それに対応するresult(int)を見つける必要があります。現在、ルックアップテーブルはDBにありますが、メモリ内に存在する必要があります。ほとんどの場合、データベースにアクセスできない環境に存在します。
私のソリューションでは、1秒あたり数千のトランザクションを処理する必要があるため、データベースにアクセスせずに、メモリ内で超高速にこのロジックを実行する必要があります。セットのサイズは50MBを少し超えるので、この投稿に従って、すべてをメモリに投入し、範囲ルックアップを実行できます。C#で範囲ルックアップを実行する-実装方法。しかし、私はそれがそのような規模でどのように機能するかわかりません。
- 「起動時に」そのテーブルをプリロードしますか?しばらく時間がかかる場合があります。
- テーブルをいくつかの.datファイルにロードし、実行時に非常に効率的なルックアップを行う方法はありますか?
ところで、私はAzureを使用していますが、ストレージテーブルを使用するとルックアップに役立つかどうかわかりません...