並行してクエリする長い文字列があります。私がやりたかったのは、文字列を小さな単位に解析し、各単位をリモート データベースに送信して、それぞれのクエリ結果を取得することです。
私の並列化は次のように機能します。解析された文字列ごとにリモート データベースにクエリを実行する必要があるため、スレッドプールを作成し、解析された文字列ごとにデータベースにクエリを実行するいくつかのランナブルを追加しました。しかし、その場合、データベース インスタンスは 1 つしかありません。したがって、コードは大まかに次のようになります。
for (String s : bigQuery)
// this function connects to that database instance and queries the string "s"
queryMyDatabase(s, databaseInstance);
残念ながら、スレッドプールの実装によってクエリ速度が向上することはありません。1 つのクライアント/インスタンスしか使用していないためではないかと考えていました。その場合、接続プールを実装する必要がありますか? リモート データベースとして CouchDB を使用しています。接続プールに関する推奨事項はありますか?