所以我目前正在开发一个应该将特定事件记录到数据库中的 java 应用程序。我预计每分钟最多会有 15 到 20 次插入,基本上我想知道是否应该为每个插入语句建立一个新连接,或者只要应用程序正在运行就保持一个打开。
我正在做的是:
public void logEvent(MyCustomEvent e) {
Connection con = null;
Statement st = null;
ResultSet rs = null;
try {
con = DriverManager.getConnection(url, user, password);
st = con.createStatement();
st.executeUpdate("INSERT INTO Table(" + e.data + ");");
} catch (SQLException ex) {
Logger lgr = Logger.getLogger(MySQLConnector.class.getName());
lgr.log(Level.SEVERE, ex.getMessage(), ex);
} finally {
try {
if (rs != null) {
rs.close();
}
if (st != null) {
st.close();
}
if (con != null) {
con.close();
}
} catch (SQLException ex) {
Logger lgr = Logger.getLogger(MySQLConnector.class.getName());
lgr.log(Level.SEVERE, ex.getMessage(), ex);
}
}
}
每次建立新连接是否没有问题,或者我可以/应该以某种方式缓冲输入吗?