连接池是否使Java Swing应用程序更快地用于远程MySQL数据库

时间:2016-11-01 11:07:58

标签: java mysql swing jdbc connection-pooling

我已经用MySQL作为数据库创建了一个Java Swing应用程序,现在我在线托管我的MySQL数据库,Swing应用程序将存储在本地,现在为了实验我已经托管了我的数据库,即{{3}上的MySQL数据库帐户,因为它允许免费托管一段时间,也连接是成功和工作但应用程序工作太慢假设如果我必须搜索来自oline托管数据库的swing应用程序中的任何条目它的工作太慢,它发生像我必须按任意键或按钮,必须等待处理交易。连接池技术是否会解决性能问题,如果是,那么哪个是最好的,如果没有,我能做些什么来解决这个问题。请帮忙

以下是我为编写数据库事务而编写的代码,我每次进行数据库访问时都会这样做

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 个答案:

答案 0 :(得分:0)

使用该代码,使用连接池可能会提高性能。特别是如果您使用启用SSL的连接。

(当然,这假设您使用相同的池进行连接。)

  

如果是,哪一个最好......

建议是StackOverflow的主题,但我确定你可以找到一个列出并比较一些流行替代品的网站。