我有一个长字符串要并行查询。我想做的是将字符串解析为更小的单元,并将每个单元发送到远程数据库并获取每个单元的查询结果。
我的并行化是这样工作的:每个解析的字符串都需要查询远程数据库,所以我创建了一个线程池,并添加了几个可运行的对象来为每个解析的字符串查询数据库。但在这种情况下,我只有一个数据库实例。所以代码大致是这样的:
for (String s : bigQuery)
// this function connects to that database instance and queries the string "s"
queryMyDatabase(s, databaseInstance);
不幸的是,我的线程池实现并没有提高我的查询速度,我想知道这是否是因为我只使用了一个客户端/实例。在那种情况下我需要实现一个连接池吗?我使用 CouchDB 作为远程数据库,您对连接池有什么建议吗?