Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
各レコード (約 1m レコード) の「キー」を DB 内の 70m 以上のレコードと比較する必要があります。
比較するためにDBに何度もアクセスしたくありません。
DB からメモリ内 (hashTable) にすべてのキー (キーのみ) をロードしようとすると、プログラムの他の部分でメモリ例外がランダムに発生します (予想どおり)。
インメモリの代わりにハッシュテーブルのファイルベースの実装はありますか?
DB に一時テーブルを作成し、すべての 1m キーを書き込みます。次に、クエリを使用して、一時テーブルのキーとターゲット テーブルのキーを比較します。SQL エンジンは結合に非常に優れているため、これは比較的高速です。1m キーの結果のみが必要なため、クエリは (70m ではなく) 1m 行を返し、その結果をストリーミングすることもできます (既に一致が含まれているため)。