我需要确定我是否正确使用了PreparedStatement。
让我们说我有这样的代码(非常简化)
版本1:
如果我正确理解PreparedStatements-这应该是多次使用不同参数执行相同SQL查询的最有效方法。我假设stat -c '%a - %n' directory/*
仅发送一次到服务器,并且当我多次调用ps
时-它应该比版本2快得多。
someMethod()
版本2: 如果我正确理解PreparedStatements-是正确的,但是版本1应该更快。
private PreparedStatement ps = null;
public void main() {
for (i = 0, i < 1000, i++) {
someMethod(i);
// cant use executeBatch in this case, because I need to
doManyOtherThingsIncludingSelectingRowInsertedAbove();
}
}
public void someMethod(int x){
if (ps == null) ps = conn.createPreparedStatement(sql);
ps.setInt(1, x);
ps.execute();
// ...
}
我的问题是:
PreparedStatement可以多次重复使用execute(而不是executeBatch)来提高性能吗?