-4

各レコード (約 1m レコード) の「キー」を DB 内の 70m 以上のレコードと比較する必要があります。

比較するためにDBに何度もアクセスしたくありません。

DB からメモリ内 (hashTable) にすべてのキー (キーのみ) をロードしようとすると、プログラムの他の部分でメモリ例外がランダムに発生します (予想どおり)。

インメモリの代わりにハッシュテーブルのファイルベースの実装はありますか?

4

1 に答える 1

3

DB に一時テーブルを作成し、すべての 1m キーを書き込みます。次に、クエリを使用して、一時テーブルのキーとターゲット テーブルのキーを比較します。SQL エンジンは結合に非常に優れているため、これは比較的高速です。1m キーの結果のみが必要なため、クエリは (70m ではなく) 1m 行を返し、その結果をストリーミングすることもできます (既に一致が含まれているため)。

于 2013-10-01T12:44:58.247 に答える