データベースとして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;
}
これは、現在、各データベースアクセスの接続を開いたり閉じたりしていますか?または1つの接続を開いてアプリケーションの存続期間中は開いたままにしますか?最初の場合は、次に接続プールがパフォーマンスを向上させる可能性があります。 –
はい、最初のいずれか私は各データベースアクセスのための接続を開いて閉じます – user2200561
@マークRotteveel私は、セッションやアプリケーションの寿命のようなものはありません現在、私は接続プールなしで行う必要がある場合は、アプリケーションのライフタイムはどうすればいいのか教えてください。私はコードを表示し、私はデータベースのアクセスを行うたびにアプリケーションを開いて閉じます。私は上記の質問を編集します。 – user2200561