java - 怎么同时查询100个 数据库 里面的同一个表名字的内容。
PHPz
PHPz 2017-04-18 09:49:07
0
5
744

用同一个sql语句查询。
100个数据库里面的表的结构都是相同的。

我现在要做的就是::需要同时链接100个数据库进行查询。查出一条符合 条件的就显示一条。。

Class.forName("com.mysql.jdbc.Driver");

          conn=DriverManager.getConnection("jdbc:mysql://192.168.20.236:3306/express001","root" ,"123456");
         ps=conn.prepareStatement("select * from sf where f29=? or f30=? or f40=? or f41=?");
       

这是连接1个数据库的时候。。。
有什么好办法可以解决嘛

多线程能解决吗??我没有接触过多线程,,如果可以,还请麻烦给点提示 谢谢。。。

PHPz
PHPz

学习是最好的投资!

全員に返信(5)
刘奇

まだテストしていないので、試してみてください

リーリー
いいねを押す +0
Peter_Zhu

マルチスレッドで解決できると思います...そうしないと同期的に実行されてしまいます。

いいねを押す +0
洪涛

これを行うための良い方法はありますか? スレッドの数は CPU コアの数でなければなりません。多すぎるとリソースが無駄になります。スレッド プールを使用します。

いいねを押す +0
大家讲道理

100 個のライブラリを操作したいので、当然 100 個の異なる接続が必要になります。これは難しい条件です。

投稿者に Dangdang.com のオープンソース プロジェクトを提供します。
シャーディング-jdbc

いいねを押す +0
黄舟

Oracle の場合は、dblink を使用できます。オリジナルの投稿者でない場合は、mysql を使用して、個別にクエリを実行して最終的に集計できるのは 100 個のデータベースのみです。複数のスレッドを使用してこれら 100 のデータベースを個別にクエリする場合は、集計中のスレッドの安全性の問題に注意する必要があります

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート