过去几天我一直想知道 Java 的 Batch Insert 如何在后端工作。这是我一直希望给自己一个想法的示例代码:
for (int ctr = 0; ctr < myArrayList.size(); ctr = ctr ++ ) {
myStatement.setObject(1, myArrayList.get(ctr) );
myStatement.addBatch();
myStatement.clearParameters();
}
然后再打电话myStatement.executeBatch()
。这个示例代码给我留下了 2 个想法。
首先,调用后,数据库是否按批次executeBatch()
执行INSERT
语句?myStatement
如果myStatement
批处理大小为 3,那么数据库会执行INSERT
3 次语句吗?
如果是,那么数据库将执行INSERT
从第一批到底部的语句还是相反?(是的,批处理的安排对我来说很重要)
其次,数据库是否执行单个INSERT
语句,其中 VALUES 以逗号分隔?