一連のURL(50000〜100000)とデータベーステーブルのレコードを20,000,000行に比較する必要があります。私は、データベースからのすべてのデータをハッシュにロードし、後で比較を行うことによってこれを行ういくつかのレガシーコードを持っています。これが機能している間、メモリ単位で改善する必要があります(速度は今のところ問題ではありません)。新しいデータと大規模データベースのレコードとの効率的な比較
私が検討している代替案は、入力データを(ドメインなどで)分割し、いくつかの選択をデータベースに行うことです。これはいくつかの入力に対しては機能するかもしれませんが、すべての入力に対してスケーリングされません。
もう1つの方法は、入力ごとにデータベースにクエリを行い、メモリにデータをロードしないことです。これは遅すぎるかもしれないと私は恐れている。
私はmysqlを使用しています。このような問題を経験した人は誰ですか?すべてのデータを別のシステム/ dbmsに移行することはオプションです。
100k選択可能インデックスが適切に設定されていれば十分に速く形成されます。 – zerkms
私たちはまっすぐなSQL照会でこれを行うことはできませんか? –
これはオプションです。私はまずそれをやろうとし、それがどのように機能するかを見てみよう。私はちょうどこれを行うより効率的な方法があったのだろうかと思っていました。 – luis