2016-11-01 1 views
-1

データベースとしてMySQLを使用するJava Swingアプリケーションを作成しました。今はMySQLデータベースをオンラインでホストしており、Swingアプリケーションはローカルに保存されます。私はデータベースをホストしているhttps://www.freemysqlhosting.net/アカウントのMySQLデータベースは、それが一定の期間無料のホスティングを可能にするため、また接続が成功して動作しますが、アプリケーションがあまりにも遅く動作すると思う場合は、olineのスイングアプリケーションからエントリを検索する必要があります私はキーやボタンを押す必要があり、トランザクションの処理を待たなければなりません。接続プールのテクニックはパフォーマンスの問題を解決しますか?はい、それが最良のものです。もし解決できない場合はどうすればいいですか?以下は接続プールによりJavaのSwingアプリケーションがリモートMySQLデータベースの方が高速に動作する

iは、データベースのトランザクションを作るために書かれているコードで、私はそのコードでデータベースアクセス

public ArrayList<ChargeSheet> readByAllCompanyInfo(String cityname) 
{ 
ArrayList<ChargeSheet> list = new ArrayList<ChargeSheet>(); 
con=db.getConnection(); 
try{ 
    pst = con.prepareStatement("select * from tblcompanyinformation where companyname = ?"); 
    pst.setString(1,cityname); 
    rs = pst.executeQuery(); 
    while(rs.next()){ 
     ChargeSheet clientInformation=new ChargeSheet(); 
     clientInformation.setRecieptno(rs.getInt(2)); 
     clientInformation.setPresentdate(rs.getString(3)); 
     clientInformation.setCompanyname(rs.getString(4)); 
     clientInformation.setPhone(rs.getString(5)); 
     list.add(clientInformation); 
    } 
} 
catch(SQLException ex){ 
    setLastError(ex.getMessage()); 
} 
finally{ 
    db.closeConnection(); 
} 
return list; 
} 
+3

これは、現在、各データベースアクセスの接続を開いたり閉じたりしていますか?または1つの接続を開いてアプリケーションの存続期間中は開いたままにしますか?最初の場合は、次に接続プールがパフォーマンスを向上させる可能性があります。 –

+0

はい、最初のいずれか私は各データベースアクセスのための接続を開いて閉じます – user2200561

+0

@マークRotteveel私は、セッションやアプリケーションの寿命のようなものはありません現在、私は接続プールなしで行う必要がある場合は、アプリケーションのライフタイムはどうすればいいのか教えてください。私はコードを表示し、私はデータベースのアクセスを行うたびにアプリケーションを開いて閉じます。私は上記の質問を編集します。 – user2200561

答えて

0

を行い、このたびをしています、接続プールを使用すると改善される可能性が高いです助けてくださいパフォーマンス。特に、SSL対応接続を使用している場合。

(もちろん、これはあなたが接続するための同じプールを使用することを前提としています。)

最高の1であるイエスならば....

勧告は、StackOverflowのためにオフトピックですしかし、私はいくつかの一般的な選択肢をリストして比較するウェブサイトを見つけることができると確信しています。

関連する問題