2
私たちのデータベースには、要求時に存在するかどうかをチェックする必要がある約400k文字列(ユーザー名)があります。 1秒でチェックするために必要な大量のリクエストがあるため(mysqlのデータは定期的に更新されるため)、おそらくmysqlクエリの代わりにjavaを使用する方がよいでしょう。だから、私の考えは、mysqlを過熱するのではなく、特定のユーザ名が存在する場合、mysqlからjavaにデータをロードして結果を得るほうが良いということです。Java 1D配列リストコレクション.containsまたはHash-Map.containsKeyの速度
そして、私が質問するのは、配列をArrayListListのコレクションマップHashMapまたは何か3番目のものと考えることができます。そのリストにあるかどうか?
おそらく 'HashSet'は' contains'にO(1)時間を与えるので、おそらくあなたの最善の策でしょう。 – Zircon
ArrayListまたは配列はソートされていなければ 'O(n)'です。バイナリ検索は 'O(log n)'になりますが、HashSetは 'O(1)'で簡単です。そのサイズのHashMapをルックアップすると、約1マイクロ秒になるはずです。 0.000001秒である。 –