ここに私のシナリオがあります:
プログラミング言語: Java
私MYSQL
は約100,000,000のエントリを持つデータベースを持っています。
私は、メモリ内valueList
に約 10,000 エントリの値のリストを持っています。
valueList
このリストの各値がデータベースに一致するかどうかを繰り返して確認したいと思います。
これは、少なくとも 10,000 回のデータベース呼び出しを行う必要があることを意味し、これは私のアプリケーションにとって非常に非効率的です。もう 1 つの方法は、データベース全体を一度メモリにロードしてから、メモリ自体で比較を行うことです。これは高速ですが、大量のメモリが必要です。
この問題に対するより良いアプローチを提案していただけますか?
編集 :
valueList が次のような値で構成されているとします。
{"New","York","Brazil","Detroit"}
データベースから、 と に一致するものを見つけBrazil
ますDetroit
。ただし、New
andは一致しYork
ませんでした。New York
したがって、次のステップは、一致しない値が残っている場合は、それらを組み合わせて一致するかどうかを確認することです。したがって、この場合、結合New
しYork
てから一致を見つけます。
私が前に行っていたアプローチ(1つずつデータベース呼び出し)では、これが可能でした。ただし、一時テーブルを作成するアプローチの場合、これは不可能です