将PreparedStatement与执行(而不是executeBatch)性能一起使用

时间:2018-09-19 21:49:30

标签: java sql prepared-statement

我需要确定我是否正确使用了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)来提高性能吗?

0 个答案:

没有答案