JDBC达到极限

时间:2015-02-11 09:46:57

标签: java jdbc

我正在使用java.sql.Connection.setAutoCommit(false)java.sql.PreparedStatement.addBatch()进行批量插入。我猜测在提交之前可以安全地执行多少正确的插入/更新语句?例如,在提交之前执行100.000插入可能会导致JDBC驱动程序投诉或内存泄漏或其他?我想在提交之前我可以执行多少语句是有限制的,我在哪里可以找到这样的信息?

1 个答案:

答案 0 :(得分:1)

DML语句的数量有没有限制。您推送到数据库的每个INSERT/UPDATE/DELETE实际上仅在数据库中进行跟踪。所以不会像你提到的那样有任何内存泄漏。 JDBC中的内存泄漏通常只与未闭合的结果集或预准备语句相关。

但另一方面,没有DML的{​​{1}}次操作,可以在数据库中进行大量登录。这可能会影响其他操作的性能。在{em>数百万 COMMIT之后发出COMMIT后,INSERTs分析,数据复制(如果有)等其他操作会给{增加更多开销{1}}。这些点仍然完全INDEX具体。 DBMS司机没有任何关系。